---
title: "Languages"
short: "languages"
order: "03"
currently: "Greek, Sanskrit and Chinese. Italian and Spanish are resting."
---
French I speak fluently. Years ago I mainlined its grammar for a month,
read *Le Petit Prince* and then four Harry Potter books, and ended up
explaining the electoral college to my italki tutor, in French. Latin came
next: Wheelock's, then Ørberg, and I can recite 150 lines of the
*Aeneid*. Since then: Italian, Spanish, Greek, Sanskrit and Chinese.
Anki keeps them all going, along with the poems I know by heart:
<!-- anki -->
<figure class="anki">
<svg class="heatmap" viewBox="0 0 882 77" role="img" aria-label="Anki reviews per day, December 2024 to October 2026"><rect class="h1" x="0" y="68" width="7.5" height="7.5"><title>Dec 7, 2024: 5 reviews</title></rect><rect class="h0" x="9" y="14" width="7.5" height="7.5"><title>Dec 8, 2024: 0 reviews</title></rect><rect class="h1" x="9" y="23" width="7.5" height="7.5"><title>Dec 9, 2024: 6 reviews</title></rect><rect class="h0" x="9" y="32" width="7.5" height="7.5"><title>Dec 10, 2024: 0 reviews</title></rect><rect class="h1" x="9" y="41" width="7.5" height="7.5"><title>Dec 11, 2024: 6 reviews</title></rect><rect class="h1" x="9" y="50" width="7.5" height="7.5"><title>Dec 12, 2024: 3 reviews</title></rect><rect class="h0" x="9" y="59" width="7.5" height="7.5"><title>Dec 13, 2024: 0 reviews</title></rect><rect class="h0" x="9" y="68" width="7.5" height="7.5"><title>Dec 14, 2024: 0 reviews</title></rect><rect class="h1" x="18" y="14" width="7.5" height="7.5"><title>Dec 15, 2024: 1 reviews</title></rect><rect class="h0" x="18" y="23" width="7.5" height="7.5"><title>Dec 16, 2024: 0 reviews</title></rect><rect class="h1" x="18" y="32" width="7.5" height="7.5"><title>Dec 17, 2024: 2 reviews</title></rect><rect class="h1" x="18" y="41" width="7.5" height="7.5"><title>Dec 18, 2024: 1 reviews</title></rect><rect class="h1" x="18" y="50" width="7.5" height="7.5"><title>Dec 19, 2024: 15 reviews</title></rect><rect class="h1" x="18" y="59" width="7.5" height="7.5"><title>Dec 20, 2024: 26 reviews</title></rect><rect class="h1" x="18" y="68" width="7.5" height="7.5"><title>Dec 21, 2024: 13 reviews</title></rect><rect class="h1" x="27" y="14" width="7.5" height="7.5"><title>Dec 22, 2024: 23 reviews</title></rect><rect class="h1" x="27" y="23" width="7.5" height="7.5"><title>Dec 23, 2024: 7 reviews</title></rect><rect class="h1" x="27" y="32" width="7.5" height="7.5"><title>Dec 24, 2024: 2 reviews</title></rect><rect class="h1" x="27" y="41" width="7.5" height="7.5"><title>Dec 25, 2024: 7 reviews</title></rect><rect class="h1" x="27" y="50" width="7.5" height="7.5"><title>Dec 26, 2024: 6 reviews</title></rect><rect class="h1" x="27" y="59" width="7.5" height="7.5"><title>Dec 27, 2024: 3 reviews</title></rect><rect class="h1" x="27" y="68" width="7.5" height="7.5"><title>Dec 28, 2024: 24 reviews</title></rect><rect class="h1" x="36" y="14" width="7.5" height="7.5"><title>Dec 29, 2024: 18 reviews</title></rect><rect class="h1" x="36" y="23" width="7.5" height="7.5"><title>Dec 30, 2024: 17 reviews</title></rect><rect class="h1" x="36" y="32" width="7.5" height="7.5"><title>Dec 31, 2024: 2 reviews</title></rect><text x="36" y="9">Jan 2025</text><rect class="h1" x="36" y="41" width="7.5" height="7.5"><title>Jan 1, 2025: 26 reviews</title></rect><rect class="h1" x="36" y="50" width="7.5" height="7.5"><title>Jan 2, 2025: 28 reviews</title></rect><rect class="h1" x="36" y="59" width="7.5" height="7.5"><title>Jan 3, 2025: 34 reviews</title></rect><rect class="h1" x="36" y="68" width="7.5" height="7.5"><title>Jan 4, 2025: 27 reviews</title></rect><rect class="h1" x="45" y="14" width="7.5" height="7.5"><title>Jan 5, 2025: 29 reviews</title></rect><rect class="h1" x="45" y="23" width="7.5" height="7.5"><title>Jan 6, 2025: 29 reviews</title></rect><rect class="h1" x="45" y="32" width="7.5" height="7.5"><title>Jan 7, 2025: 32 reviews</title></rect><rect class="h1" x="45" y="41" width="7.5" height="7.5"><title>Jan 8, 2025: 44 reviews</title></rect><rect class="h2" x="45" y="50" width="7.5" height="7.5"><title>Jan 9, 2025: 49 reviews</title></rect><rect class="h1" x="45" y="59" width="7.5" height="7.5"><title>Jan 10, 2025: 23 reviews</title></rect><rect class="h1" x="45" y="68" width="7.5" height="7.5"><title>Jan 11, 2025: 19 reviews</title></rect><rect class="h1" x="54" y="14" width="7.5" height="7.5"><title>Jan 12, 2025: 32 reviews</title></rect><rect class="h1" x="54" y="23" width="7.5" height="7.5"><title>Jan 13, 2025: 29 reviews</title></rect><rect class="h1" x="54" y="32" width="7.5" height="7.5"><title>Jan 14, 2025: 15 reviews</title></rect><rect class="h1" x="54" y="41" width="7.5" height="7.5"><title>Jan 15, 2025: 13 reviews</title></rect><rect class="h1" x="54" y="50" width="7.5" height="7.5"><title>Jan 16, 2025: 19 reviews</title></rect><rect class="h1" x="54" y="59" width="7.5" height="7.5"><title>Jan 17, 2025: 16 reviews</title></rect><rect class="h1" x="54" y="68" width="7.5" height="7.5"><title>Jan 18, 2025: 19 reviews</title></rect><rect class="h1" x="63" y="14" width="7.5" height="7.5"><title>Jan 19, 2025: 19 reviews</title></rect><rect class="h1" x="63" y="23" width="7.5" height="7.5"><title>Jan 20, 2025: 16 reviews</title></rect><rect class="h1" x="63" y="32" width="7.5" height="7.5"><title>Jan 21, 2025: 12 reviews</title></rect><rect class="h1" x="63" y="41" width="7.5" height="7.5"><title>Jan 22, 2025: 9 reviews</title></rect><rect class="h1" x="63" y="50" width="7.5" height="7.5"><title>Jan 23, 2025: 11 reviews</title></rect><rect class="h1" x="63" y="59" width="7.5" height="7.5"><title>Jan 24, 2025: 15 reviews</title></rect><rect class="h1" x="63" y="68" width="7.5" height="7.5"><title>Jan 25, 2025: 9 reviews</title></rect><rect class="h1" x="72" y="14" width="7.5" height="7.5"><title>Jan 26, 2025: 15 reviews</title></rect><rect class="h0" x="72" y="23" width="7.5" height="7.5"><title>Jan 27, 2025: 0 reviews</title></rect><rect class="h1" x="72" y="32" width="7.5" height="7.5"><title>Jan 28, 2025: 5 reviews</title></rect><rect class="h1" x="72" y="41" width="7.5" height="7.5"><title>Jan 29, 2025: 28 reviews</title></rect><rect class="h1" x="72" y="50" width="7.5" height="7.5"><title>Jan 30, 2025: 13 reviews</title></rect><rect class="h1" x="72" y="59" width="7.5" height="7.5"><title>Jan 31, 2025: 23 reviews</title></rect><rect class="h1" x="72" y="68" width="7.5" height="7.5"><title>Feb 1, 2025: 35 reviews</title></rect><rect class="h1" x="81" y="14" width="7.5" height="7.5"><title>Feb 2, 2025: 41 reviews</title></rect><rect class="h1" x="81" y="23" width="7.5" height="7.5"><title>Feb 3, 2025: 43 reviews</title></rect><rect class="h2" x="81" y="32" width="7.5" height="7.5"><title>Feb 4, 2025: 46 reviews</title></rect><rect class="h1" x="81" y="41" width="7.5" height="7.5"><title>Feb 5, 2025: 45 reviews</title></rect><rect class="h2" x="81" y="50" width="7.5" height="7.5"><title>Feb 6, 2025: 47 reviews</title></rect><rect class="h1" x="81" y="59" width="7.5" height="7.5"><title>Feb 7, 2025: 43 reviews</title></rect><rect class="h2" x="81" y="68" width="7.5" height="7.5"><title>Feb 8, 2025: 53 reviews</title></rect><rect class="h1" x="90" y="14" width="7.5" height="7.5"><title>Feb 9, 2025: 45 reviews</title></rect><rect class="h1" x="90" y="23" width="7.5" height="7.5"><title>Feb 10, 2025: 38 reviews</title></rect><rect class="h1" x="90" y="32" width="7.5" height="7.5"><title>Feb 11, 2025: 36 reviews</title></rect><rect class="h1" x="90" y="41" width="7.5" height="7.5"><title>Feb 12, 2025: 39 reviews</title></rect><rect class="h1" x="90" y="50" width="7.5" height="7.5"><title>Feb 13, 2025: 38 reviews</title></rect><rect class="h1" x="90" y="59" width="7.5" height="7.5"><title>Feb 14, 2025: 36 reviews</title></rect><rect class="h1" x="90" y="68" width="7.5" height="7.5"><title>Feb 15, 2025: 28 reviews</title></rect><rect class="h1" x="99" y="14" width="7.5" height="7.5"><title>Feb 16, 2025: 33 reviews</title></rect><rect class="h1" x="99" y="23" width="7.5" height="7.5"><title>Feb 17, 2025: 28 reviews</title></rect><rect class="h1" x="99" y="32" width="7.5" height="7.5"><title>Feb 18, 2025: 30 reviews</title></rect><rect class="h1" x="99" y="41" width="7.5" height="7.5"><title>Feb 19, 2025: 21 reviews</title></rect><rect class="h1" x="99" y="50" width="7.5" height="7.5"><title>Feb 20, 2025: 30 reviews</title></rect><rect class="h1" x="99" y="59" width="7.5" height="7.5"><title>Feb 21, 2025: 32 reviews</title></rect><rect class="h1" x="99" y="68" width="7.5" height="7.5"><title>Feb 22, 2025: 21 reviews</title></rect><rect class="h2" x="108" y="14" width="7.5" height="7.5"><title>Feb 23, 2025: 46 reviews</title></rect><rect class="h1" x="108" y="23" width="7.5" height="7.5"><title>Feb 24, 2025: 39 reviews</title></rect><rect class="h1" x="108" y="32" width="7.5" height="7.5"><title>Feb 25, 2025: 23 reviews</title></rect><rect class="h2" x="108" y="41" width="7.5" height="7.5"><title>Feb 26, 2025: 53 reviews</title></rect><rect class="h1" x="108" y="50" width="7.5" height="7.5"><title>Feb 27, 2025: 44 reviews</title></rect><rect class="h1" x="108" y="59" width="7.5" height="7.5"><title>Feb 28, 2025: 40 reviews</title></rect><rect class="h1" x="108" y="68" width="7.5" height="7.5"><title>Mar 1, 2025: 35 reviews</title></rect><rect class="h1" x="117" y="14" width="7.5" height="7.5"><title>Mar 2, 2025: 29 reviews</title></rect><rect class="h1" x="117" y="23" width="7.5" height="7.5"><title>Mar 3, 2025: 28 reviews</title></rect><rect class="h1" x="117" y="32" width="7.5" height="7.5"><title>Mar 4, 2025: 38 reviews</title></rect><rect class="h2" x="117" y="41" width="7.5" height="7.5"><title>Mar 5, 2025: 53 reviews</title></rect><rect class="h1" x="117" y="50" width="7.5" height="7.5"><title>Mar 6, 2025: 32 reviews</title></rect><rect class="h1" x="117" y="59" width="7.5" height="7.5"><title>Mar 7, 2025: 30 reviews</title></rect><rect class="h1" x="117" y="68" width="7.5" height="7.5"><title>Mar 8, 2025: 37 reviews</title></rect><rect class="h1" x="126" y="14" width="7.5" height="7.5"><title>Mar 9, 2025: 28 reviews</title></rect><rect class="h1" x="126" y="23" width="7.5" height="7.5"><title>Mar 10, 2025: 29 reviews</title></rect><rect class="h1" x="126" y="32" width="7.5" height="7.5"><title>Mar 11, 2025: 44 reviews</title></rect><rect class="h1" x="126" y="41" width="7.5" height="7.5"><title>Mar 12, 2025: 29 reviews</title></rect><rect class="h1" x="126" y="50" width="7.5" height="7.5"><title>Mar 13, 2025: 32 reviews</title></rect><rect class="h1" x="126" y="59" width="7.5" height="7.5"><title>Mar 14, 2025: 17 reviews</title></rect><rect class="h1" x="126" y="68" width="7.5" height="7.5"><title>Mar 15, 2025: 18 reviews</title></rect><rect class="h1" x="135" y="14" width="7.5" height="7.5"><title>Mar 16, 2025: 17 reviews</title></rect><rect class="h1" x="135" y="23" width="7.5" height="7.5"><title>Mar 17, 2025: 17 reviews</title></rect><rect class="h1" x="135" y="32" width="7.5" height="7.5"><title>Mar 18, 2025: 2 reviews</title></rect><rect class="h1" x="135" y="41" width="7.5" height="7.5"><title>Mar 19, 2025: 22 reviews</title></rect><rect class="h1" x="135" y="50" width="7.5" height="7.5"><title>Mar 20, 2025: 10 reviews</title></rect><rect class="h1" x="135" y="59" width="7.5" height="7.5"><title>Mar 21, 2025: 11 reviews</title></rect><rect class="h1" x="135" y="68" width="7.5" height="7.5"><title>Mar 22, 2025: 11 reviews</title></rect><rect class="h1" x="144" y="14" width="7.5" height="7.5"><title>Mar 23, 2025: 12 reviews</title></rect><rect class="h2" x="144" y="23" width="7.5" height="7.5"><title>Mar 24, 2025: 57 reviews</title></rect><rect class="h1" x="144" y="32" width="7.5" height="7.5"><title>Mar 25, 2025: 19 reviews</title></rect><rect class="h1" x="144" y="41" width="7.5" height="7.5"><title>Mar 26, 2025: 4 reviews</title></rect><rect class="h1" x="144" y="50" width="7.5" height="7.5"><title>Mar 27, 2025: 39 reviews</title></rect><rect class="h1" x="144" y="59" width="7.5" height="7.5"><title>Mar 28, 2025: 12 reviews</title></rect><rect class="h1" x="144" y="68" width="7.5" height="7.5"><title>Mar 29, 2025: 2 reviews</title></rect><rect class="h1" x="153" y="14" width="7.5" height="7.5"><title>Mar 30, 2025: 21 reviews</title></rect><rect class="h1" x="153" y="23" width="7.5" height="7.5"><title>Mar 31, 2025: 5 reviews</title></rect><text x="153" y="9">Apr</text><rect class="h1" x="153" y="32" width="7.5" height="7.5"><title>Apr 1, 2025: 27 reviews</title></rect><rect class="h1" x="153" y="41" width="7.5" height="7.5"><title>Apr 2, 2025: 9 reviews</title></rect><rect class="h3" x="153" y="50" width="7.5" height="7.5"><title>Apr 3, 2025: 203 reviews</title></rect><rect class="h3" x="153" y="59" width="7.5" height="7.5"><title>Apr 4, 2025: 123 reviews</title></rect><rect class="h4" x="153" y="68" width="7.5" height="7.5"><title>Apr 5, 2025: 265 reviews</title></rect><rect class="h3" x="162" y="14" width="7.5" height="7.5"><title>Apr 6, 2025: 103 reviews</title></rect><rect class="h3" x="162" y="23" width="7.5" height="7.5"><title>Apr 7, 2025: 220 reviews</title></rect><rect class="h2" x="162" y="32" width="7.5" height="7.5"><title>Apr 8, 2025: 82 reviews</title></rect><rect class="h2" x="162" y="41" width="7.5" height="7.5"><title>Apr 9, 2025: 80 reviews</title></rect><rect class="h2" x="162" y="50" width="7.5" height="7.5"><title>Apr 10, 2025: 79 reviews</title></rect><rect class="h0" x="162" y="59" width="7.5" height="7.5"><title>Apr 11, 2025: 0 reviews</title></rect><rect class="h2" x="162" y="68" width="7.5" height="7.5"><title>Apr 12, 2025: 48 reviews</title></rect><rect class="h3" x="171" y="14" width="7.5" height="7.5"><title>Apr 13, 2025: 138 reviews</title></rect><rect class="h1" x="171" y="23" width="7.5" height="7.5"><title>Apr 14, 2025: 27 reviews</title></rect><rect class="h2" x="171" y="32" width="7.5" height="7.5"><title>Apr 15, 2025: 70 reviews</title></rect><rect class="h2" x="171" y="41" width="7.5" height="7.5"><title>Apr 16, 2025: 72 reviews</title></rect><rect class="h3" x="171" y="50" width="7.5" height="7.5"><title>Apr 17, 2025: 162 reviews</title></rect><rect class="h2" x="171" y="59" width="7.5" height="7.5"><title>Apr 18, 2025: 75 reviews</title></rect><rect class="h3" x="171" y="68" width="7.5" height="7.5"><title>Apr 19, 2025: 103 reviews</title></rect><rect class="h2" x="180" y="14" width="7.5" height="7.5"><title>Apr 20, 2025: 82 reviews</title></rect><rect class="h3" x="180" y="23" width="7.5" height="7.5"><title>Apr 21, 2025: 163 reviews</title></rect><rect class="h3" x="180" y="32" width="7.5" height="7.5"><title>Apr 22, 2025: 140 reviews</title></rect><rect class="h3" x="180" y="41" width="7.5" height="7.5"><title>Apr 23, 2025: 100 reviews</title></rect><rect class="h3" x="180" y="50" width="7.5" height="7.5"><title>Apr 24, 2025: 121 reviews</title></rect><rect class="h1" x="180" y="59" width="7.5" height="7.5"><title>Apr 25, 2025: 42 reviews</title></rect><rect class="h0" x="180" y="68" width="7.5" height="7.5"><title>Apr 26, 2025: 0 reviews</title></rect><rect class="h4" x="189" y="14" width="7.5" height="7.5"><title>Apr 27, 2025: 245 reviews</title></rect><rect class="h2" x="189" y="23" width="7.5" height="7.5"><title>Apr 28, 2025: 48 reviews</title></rect><rect class="h3" x="189" y="32" width="7.5" height="7.5"><title>Apr 29, 2025: 103 reviews</title></rect><rect class="h3" x="189" y="41" width="7.5" height="7.5"><title>Apr 30, 2025: 128 reviews</title></rect><rect class="h2" x="189" y="50" width="7.5" height="7.5"><title>May 1, 2025: 60 reviews</title></rect><rect class="h1" x="189" y="59" width="7.5" height="7.5"><title>May 2, 2025: 14 reviews</title></rect><rect class="h3" x="189" y="68" width="7.5" height="7.5"><title>May 3, 2025: 171 reviews</title></rect><rect class="h3" x="198" y="14" width="7.5" height="7.5"><title>May 4, 2025: 163 reviews</title></rect><rect class="h3" x="198" y="23" width="7.5" height="7.5"><title>May 5, 2025: 134 reviews</title></rect><rect class="h3" x="198" y="32" width="7.5" height="7.5"><title>May 6, 2025: 162 reviews</title></rect><rect class="h2" x="198" y="41" width="7.5" height="7.5"><title>May 7, 2025: 62 reviews</title></rect><rect class="h3" x="198" y="50" width="7.5" height="7.5"><title>May 8, 2025: 236 reviews</title></rect><rect class="h2" x="198" y="59" width="7.5" height="7.5"><title>May 9, 2025: 75 reviews</title></rect><rect class="h2" x="198" y="68" width="7.5" height="7.5"><title>May 10, 2025: 94 reviews</title></rect><rect class="h3" x="207" y="14" width="7.5" height="7.5"><title>May 11, 2025: 124 reviews</title></rect><rect class="h3" x="207" y="23" width="7.5" height="7.5"><title>May 12, 2025: 137 reviews</title></rect><rect class="h3" x="207" y="32" width="7.5" height="7.5"><title>May 13, 2025: 106 reviews</title></rect><rect class="h3" x="207" y="41" width="7.5" height="7.5"><title>May 14, 2025: 131 reviews</title></rect><rect class="h2" x="207" y="50" width="7.5" height="7.5"><title>May 15, 2025: 59 reviews</title></rect><rect class="h2" x="207" y="59" width="7.5" height="7.5"><title>May 16, 2025: 77 reviews</title></rect><rect class="h3" x="207" y="68" width="7.5" height="7.5"><title>May 17, 2025: 100 reviews</title></rect><rect class="h1" x="216" y="14" width="7.5" height="7.5"><title>May 18, 2025: 14 reviews</title></rect><rect class="h3" x="216" y="23" width="7.5" height="7.5"><title>May 19, 2025: 121 reviews</title></rect><rect class="h1" x="216" y="32" width="7.5" height="7.5"><title>May 20, 2025: 2 reviews</title></rect><rect class="h1" x="216" y="41" width="7.5" height="7.5"><title>May 21, 2025: 1 reviews</title></rect><rect class="h3" x="216" y="50" width="7.5" height="7.5"><title>May 22, 2025: 201 reviews</title></rect><rect class="h1" x="216" y="59" width="7.5" height="7.5"><title>May 23, 2025: 3 reviews</title></rect><rect class="h3" x="216" y="68" width="7.5" height="7.5"><title>May 24, 2025: 196 reviews</title></rect><rect class="h3" x="225" y="14" width="7.5" height="7.5"><title>May 25, 2025: 104 reviews</title></rect><rect class="h3" x="225" y="23" width="7.5" height="7.5"><title>May 26, 2025: 225 reviews</title></rect><rect class="h2" x="225" y="32" width="7.5" height="7.5"><title>May 27, 2025: 72 reviews</title></rect><rect class="h2" x="225" y="41" width="7.5" height="7.5"><title>May 28, 2025: 99 reviews</title></rect><rect class="h2" x="225" y="50" width="7.5" height="7.5"><title>May 29, 2025: 65 reviews</title></rect><rect class="h2" x="225" y="59" width="7.5" height="7.5"><title>May 30, 2025: 64 reviews</title></rect><rect class="h3" x="225" y="68" width="7.5" height="7.5"><title>May 31, 2025: 107 reviews</title></rect><rect class="h2" x="234" y="14" width="7.5" height="7.5"><title>Jun 1, 2025: 56 reviews</title></rect><rect class="h2" x="234" y="23" width="7.5" height="7.5"><title>Jun 2, 2025: 83 reviews</title></rect><rect class="h2" x="234" y="32" width="7.5" height="7.5"><title>Jun 3, 2025: 62 reviews</title></rect><rect class="h2" x="234" y="41" width="7.5" height="7.5"><title>Jun 4, 2025: 66 reviews</title></rect><rect class="h2" x="234" y="50" width="7.5" height="7.5"><title>Jun 5, 2025: 69 reviews</title></rect><rect class="h2" x="234" y="59" width="7.5" height="7.5"><title>Jun 6, 2025: 47 reviews</title></rect><rect class="h3" x="234" y="68" width="7.5" height="7.5"><title>Jun 7, 2025: 145 reviews</title></rect><rect class="h3" x="243" y="14" width="7.5" height="7.5"><title>Jun 8, 2025: 159 reviews</title></rect><rect class="h3" x="243" y="23" width="7.5" height="7.5"><title>Jun 9, 2025: 100 reviews</title></rect><rect class="h3" x="243" y="32" width="7.5" height="7.5"><title>Jun 10, 2025: 113 reviews</title></rect><rect class="h2" x="243" y="41" width="7.5" height="7.5"><title>Jun 11, 2025: 74 reviews</title></rect><rect class="h2" x="243" y="50" width="7.5" height="7.5"><title>Jun 12, 2025: 84 reviews</title></rect><rect class="h2" x="243" y="59" width="7.5" height="7.5"><title>Jun 13, 2025: 91 reviews</title></rect><rect class="h2" x="243" y="68" width="7.5" height="7.5"><title>Jun 14, 2025: 94 reviews</title></rect><rect class="h2" x="252" y="14" width="7.5" height="7.5"><title>Jun 15, 2025: 95 reviews</title></rect><rect class="h2" x="252" y="23" width="7.5" height="7.5"><title>Jun 16, 2025: 68 reviews</title></rect><rect class="h2" x="252" y="32" width="7.5" height="7.5"><title>Jun 17, 2025: 83 reviews</title></rect><rect class="h2" x="252" y="41" width="7.5" height="7.5"><title>Jun 18, 2025: 72 reviews</title></rect><rect class="h2" x="252" y="50" width="7.5" height="7.5"><title>Jun 19, 2025: 48 reviews</title></rect><rect class="h2" x="252" y="59" width="7.5" height="7.5"><title>Jun 20, 2025: 57 reviews</title></rect><rect class="h3" x="252" y="68" width="7.5" height="7.5"><title>Jun 21, 2025: 175 reviews</title></rect><rect class="h3" x="261" y="14" width="7.5" height="7.5"><title>Jun 22, 2025: 123 reviews</title></rect><rect class="h2" x="261" y="23" width="7.5" height="7.5"><title>Jun 23, 2025: 67 reviews</title></rect><rect class="h2" x="261" y="32" width="7.5" height="7.5"><title>Jun 24, 2025: 50 reviews</title></rect><rect class="h1" x="261" y="41" width="7.5" height="7.5"><title>Jun 25, 2025: 31 reviews</title></rect><rect class="h3" x="261" y="50" width="7.5" height="7.5"><title>Jun 26, 2025: 106 reviews</title></rect><rect class="h0" x="261" y="59" width="7.5" height="7.5"><title>Jun 27, 2025: 0 reviews</title></rect><rect class="h3" x="261" y="68" width="7.5" height="7.5"><title>Jun 28, 2025: 121 reviews</title></rect><rect class="h2" x="270" y="14" width="7.5" height="7.5"><title>Jun 29, 2025: 46 reviews</title></rect><rect class="h1" x="270" y="23" width="7.5" height="7.5"><title>Jun 30, 2025: 44 reviews</title></rect><text x="270" y="9">Jul</text><rect class="h1" x="270" y="32" width="7.5" height="7.5"><title>Jul 1, 2025: 41 reviews</title></rect><rect class="h0" x="270" y="41" width="7.5" height="7.5"><title>Jul 2, 2025: 0 reviews</title></rect><rect class="h0" x="270" y="50" width="7.5" height="7.5"><title>Jul 3, 2025: 0 reviews</title></rect><rect class="h1" x="270" y="59" width="7.5" height="7.5"><title>Jul 4, 2025: 4 reviews</title></rect><rect class="h3" x="270" y="68" width="7.5" height="7.5"><title>Jul 5, 2025: 206 reviews</title></rect><rect class="h2" x="279" y="14" width="7.5" height="7.5"><title>Jul 6, 2025: 49 reviews</title></rect><rect class="h2" x="279" y="23" width="7.5" height="7.5"><title>Jul 7, 2025: 47 reviews</title></rect><rect class="h1" x="279" y="32" width="7.5" height="7.5"><title>Jul 8, 2025: 31 reviews</title></rect><rect class="h2" x="279" y="41" width="7.5" height="7.5"><title>Jul 9, 2025: 64 reviews</title></rect><rect class="h1" x="279" y="50" width="7.5" height="7.5"><title>Jul 10, 2025: 40 reviews</title></rect><rect class="h0" x="279" y="59" width="7.5" height="7.5"><title>Jul 11, 2025: 0 reviews</title></rect><rect class="h2" x="279" y="68" width="7.5" height="7.5"><title>Jul 12, 2025: 85 reviews</title></rect><rect class="h2" x="288" y="14" width="7.5" height="7.5"><title>Jul 13, 2025: 87 reviews</title></rect><rect class="h2" x="288" y="23" width="7.5" height="7.5"><title>Jul 14, 2025: 79 reviews</title></rect><rect class="h3" x="288" y="32" width="7.5" height="7.5"><title>Jul 15, 2025: 120 reviews</title></rect><rect class="h2" x="288" y="41" width="7.5" height="7.5"><title>Jul 16, 2025: 83 reviews</title></rect><rect class="h2" x="288" y="50" width="7.5" height="7.5"><title>Jul 17, 2025: 71 reviews</title></rect><rect class="h1" x="288" y="59" width="7.5" height="7.5"><title>Jul 18, 2025: 6 reviews</title></rect><rect class="h2" x="288" y="68" width="7.5" height="7.5"><title>Jul 19, 2025: 80 reviews</title></rect><rect class="h2" x="297" y="14" width="7.5" height="7.5"><title>Jul 20, 2025: 51 reviews</title></rect><rect class="h2" x="297" y="23" width="7.5" height="7.5"><title>Jul 21, 2025: 77 reviews</title></rect><rect class="h2" x="297" y="32" width="7.5" height="7.5"><title>Jul 22, 2025: 54 reviews</title></rect><rect class="h2" x="297" y="41" width="7.5" height="7.5"><title>Jul 23, 2025: 59 reviews</title></rect><rect class="h3" x="297" y="50" width="7.5" height="7.5"><title>Jul 24, 2025: 100 reviews</title></rect><rect class="h2" x="297" y="59" width="7.5" height="7.5"><title>Jul 25, 2025: 48 reviews</title></rect><rect class="h3" x="297" y="68" width="7.5" height="7.5"><title>Jul 26, 2025: 122 reviews</title></rect><rect class="h2" x="306" y="14" width="7.5" height="7.5"><title>Jul 27, 2025: 98 reviews</title></rect><rect class="h2" x="306" y="23" width="7.5" height="7.5"><title>Jul 28, 2025: 75 reviews</title></rect><rect class="h2" x="306" y="32" width="7.5" height="7.5"><title>Jul 29, 2025: 86 reviews</title></rect><rect class="h2" x="306" y="41" width="7.5" height="7.5"><title>Jul 30, 2025: 68 reviews</title></rect><rect class="h2" x="306" y="50" width="7.5" height="7.5"><title>Jul 31, 2025: 62 reviews</title></rect><rect class="h1" x="306" y="59" width="7.5" height="7.5"><title>Aug 1, 2025: 22 reviews</title></rect><rect class="h2" x="306" y="68" width="7.5" height="7.5"><title>Aug 2, 2025: 84 reviews</title></rect><rect class="h2" x="315" y="14" width="7.5" height="7.5"><title>Aug 3, 2025: 58 reviews</title></rect><rect class="h2" x="315" y="23" width="7.5" height="7.5"><title>Aug 4, 2025: 73 reviews</title></rect><rect class="h2" x="315" y="32" width="7.5" height="7.5"><title>Aug 5, 2025: 79 reviews</title></rect><rect class="h3" x="315" y="41" width="7.5" height="7.5"><title>Aug 6, 2025: 122 reviews</title></rect><rect class="h1" x="315" y="50" width="7.5" height="7.5"><title>Aug 7, 2025: 37 reviews</title></rect><rect class="h1" x="315" y="59" width="7.5" height="7.5"><title>Aug 8, 2025: 23 reviews</title></rect><rect class="h3" x="315" y="68" width="7.5" height="7.5"><title>Aug 9, 2025: 204 reviews</title></rect><rect class="h2" x="324" y="14" width="7.5" height="7.5"><title>Aug 10, 2025: 97 reviews</title></rect><rect class="h3" x="324" y="23" width="7.5" height="7.5"><title>Aug 11, 2025: 105 reviews</title></rect><rect class="h2" x="324" y="32" width="7.5" height="7.5"><title>Aug 12, 2025: 91 reviews</title></rect><rect class="h2" x="324" y="41" width="7.5" height="7.5"><title>Aug 13, 2025: 58 reviews</title></rect><rect class="h3" x="324" y="50" width="7.5" height="7.5"><title>Aug 14, 2025: 122 reviews</title></rect><rect class="h1" x="324" y="59" width="7.5" height="7.5"><title>Aug 15, 2025: 16 reviews</title></rect><rect class="h3" x="324" y="68" width="7.5" height="7.5"><title>Aug 16, 2025: 148 reviews</title></rect><rect class="h2" x="333" y="14" width="7.5" height="7.5"><title>Aug 17, 2025: 84 reviews</title></rect><rect class="h2" x="333" y="23" width="7.5" height="7.5"><title>Aug 18, 2025: 55 reviews</title></rect><rect class="h3" x="333" y="32" width="7.5" height="7.5"><title>Aug 19, 2025: 117 reviews</title></rect><rect class="h2" x="333" y="41" width="7.5" height="7.5"><title>Aug 20, 2025: 74 reviews</title></rect><rect class="h2" x="333" y="50" width="7.5" height="7.5"><title>Aug 21, 2025: 86 reviews</title></rect><rect class="h2" x="333" y="59" width="7.5" height="7.5"><title>Aug 22, 2025: 92 reviews</title></rect><rect class="h2" x="333" y="68" width="7.5" height="7.5"><title>Aug 23, 2025: 52 reviews</title></rect><rect class="h2" x="342" y="14" width="7.5" height="7.5"><title>Aug 24, 2025: 54 reviews</title></rect><rect class="h2" x="342" y="23" width="7.5" height="7.5"><title>Aug 25, 2025: 63 reviews</title></rect><rect class="h2" x="342" y="32" width="7.5" height="7.5"><title>Aug 26, 2025: 54 reviews</title></rect><rect class="h3" x="342" y="41" width="7.5" height="7.5"><title>Aug 27, 2025: 144 reviews</title></rect><rect class="h2" x="342" y="50" width="7.5" height="7.5"><title>Aug 28, 2025: 71 reviews</title></rect><rect class="h2" x="342" y="59" width="7.5" height="7.5"><title>Aug 29, 2025: 64 reviews</title></rect><rect class="h2" x="342" y="68" width="7.5" height="7.5"><title>Aug 30, 2025: 72 reviews</title></rect><rect class="h2" x="351" y="14" width="7.5" height="7.5"><title>Aug 31, 2025: 69 reviews</title></rect><rect class="h2" x="351" y="23" width="7.5" height="7.5"><title>Sep 1, 2025: 65 reviews</title></rect><rect class="h2" x="351" y="32" width="7.5" height="7.5"><title>Sep 2, 2025: 59 reviews</title></rect><rect class="h2" x="351" y="41" width="7.5" height="7.5"><title>Sep 3, 2025: 57 reviews</title></rect><rect class="h2" x="351" y="50" width="7.5" height="7.5"><title>Sep 4, 2025: 64 reviews</title></rect><rect class="h2" x="351" y="59" width="7.5" height="7.5"><title>Sep 5, 2025: 56 reviews</title></rect><rect class="h2" x="351" y="68" width="7.5" height="7.5"><title>Sep 6, 2025: 71 reviews</title></rect><rect class="h2" x="360" y="14" width="7.5" height="7.5"><title>Sep 7, 2025: 53 reviews</title></rect><rect class="h2" x="360" y="23" width="7.5" height="7.5"><title>Sep 8, 2025: 59 reviews</title></rect><rect class="h2" x="360" y="32" width="7.5" height="7.5"><title>Sep 9, 2025: 64 reviews</title></rect><rect class="h2" x="360" y="41" width="7.5" height="7.5"><title>Sep 10, 2025: 76 reviews</title></rect><rect class="h2" x="360" y="50" width="7.5" height="7.5"><title>Sep 11, 2025: 67 reviews</title></rect><rect class="h2" x="360" y="59" width="7.5" height="7.5"><title>Sep 12, 2025: 70 reviews</title></rect><rect class="h2" x="360" y="68" width="7.5" height="7.5"><title>Sep 13, 2025: 70 reviews</title></rect><rect class="h2" x="369" y="14" width="7.5" height="7.5"><title>Sep 14, 2025: 60 reviews</title></rect><rect class="h2" x="369" y="23" width="7.5" height="7.5"><title>Sep 15, 2025: 72 reviews</title></rect><rect class="h2" x="369" y="32" width="7.5" height="7.5"><title>Sep 16, 2025: 70 reviews</title></rect><rect class="h2" x="369" y="41" width="7.5" height="7.5"><title>Sep 17, 2025: 61 reviews</title></rect><rect class="h2" x="369" y="50" width="7.5" height="7.5"><title>Sep 18, 2025: 57 reviews</title></rect><rect class="h0" x="369" y="59" width="7.5" height="7.5"><title>Sep 19, 2025: 0 reviews</title></rect><rect class="h3" x="369" y="68" width="7.5" height="7.5"><title>Sep 20, 2025: 130 reviews</title></rect><rect class="h2" x="378" y="14" width="7.5" height="7.5"><title>Sep 21, 2025: 65 reviews</title></rect><rect class="h2" x="378" y="23" width="7.5" height="7.5"><title>Sep 22, 2025: 73 reviews</title></rect><rect class="h1" x="378" y="32" width="7.5" height="7.5"><title>Sep 23, 2025: 11 reviews</title></rect><rect class="h0" x="378" y="41" width="7.5" height="7.5"><title>Sep 24, 2025: 0 reviews</title></rect><rect class="h3" x="378" y="50" width="7.5" height="7.5"><title>Sep 25, 2025: 172 reviews</title></rect><rect class="h1" x="378" y="59" width="7.5" height="7.5"><title>Sep 26, 2025: 15 reviews</title></rect><rect class="h3" x="378" y="68" width="7.5" height="7.5"><title>Sep 27, 2025: 140 reviews</title></rect><rect class="h2" x="387" y="14" width="7.5" height="7.5"><title>Sep 28, 2025: 76 reviews</title></rect><rect class="h2" x="387" y="23" width="7.5" height="7.5"><title>Sep 29, 2025: 87 reviews</title></rect><rect class="h2" x="387" y="32" width="7.5" height="7.5"><title>Sep 30, 2025: 63 reviews</title></rect><text x="387" y="9">Oct</text><rect class="h2" x="387" y="41" width="7.5" height="7.5"><title>Oct 1, 2025: 59 reviews</title></rect><rect class="h2" x="387" y="50" width="7.5" height="7.5"><title>Oct 2, 2025: 73 reviews</title></rect><rect class="h1" x="387" y="59" width="7.5" height="7.5"><title>Oct 3, 2025: 9 reviews</title></rect><rect class="h3" x="387" y="68" width="7.5" height="7.5"><title>Oct 4, 2025: 135 reviews</title></rect><rect class="h0" x="396" y="14" width="7.5" height="7.5"><title>Oct 5, 2025: 0 reviews</title></rect><rect class="h3" x="396" y="23" width="7.5" height="7.5"><title>Oct 6, 2025: 131 reviews</title></rect><rect class="h2" x="396" y="32" width="7.5" height="7.5"><title>Oct 7, 2025: 85 reviews</title></rect><rect class="h2" x="396" y="41" width="7.5" height="7.5"><title>Oct 8, 2025: 95 reviews</title></rect><rect class="h2" x="396" y="50" width="7.5" height="7.5"><title>Oct 9, 2025: 79 reviews</title></rect><rect class="h2" x="396" y="59" width="7.5" height="7.5"><title>Oct 10, 2025: 75 reviews</title></rect><rect class="h1" x="396" y="68" width="7.5" height="7.5"><title>Oct 11, 2025: 34 reviews</title></rect><rect class="h3" x="405" y="14" width="7.5" height="7.5"><title>Oct 12, 2025: 140 reviews</title></rect><rect class="h2" x="405" y="23" width="7.5" height="7.5"><title>Oct 13, 2025: 91 reviews</title></rect><rect class="h2" x="405" y="32" width="7.5" height="7.5"><title>Oct 14, 2025: 89 reviews</title></rect><rect class="h2" x="405" y="41" width="7.5" height="7.5"><title>Oct 15, 2025: 63 reviews</title></rect><rect class="h1" x="405" y="50" width="7.5" height="7.5"><title>Oct 16, 2025: 31 reviews</title></rect><rect class="h3" x="405" y="59" width="7.5" height="7.5"><title>Oct 17, 2025: 102 reviews</title></rect><rect class="h2" x="405" y="68" width="7.5" height="7.5"><title>Oct 18, 2025: 78 reviews</title></rect><rect class="h3" x="414" y="14" width="7.5" height="7.5"><title>Oct 19, 2025: 112 reviews</title></rect><rect class="h3" x="414" y="23" width="7.5" height="7.5"><title>Oct 20, 2025: 103 reviews</title></rect><rect class="h3" x="414" y="32" width="7.5" height="7.5"><title>Oct 21, 2025: 103 reviews</title></rect><rect class="h2" x="414" y="41" width="7.5" height="7.5"><title>Oct 22, 2025: 90 reviews</title></rect><rect class="h2" x="414" y="50" width="7.5" height="7.5"><title>Oct 23, 2025: 98 reviews</title></rect><rect class="h1" x="414" y="59" width="7.5" height="7.5"><title>Oct 24, 2025: 16 reviews</title></rect><rect class="h3" x="414" y="68" width="7.5" height="7.5"><title>Oct 25, 2025: 109 reviews</title></rect><rect class="h3" x="423" y="14" width="7.5" height="7.5"><title>Oct 26, 2025: 179 reviews</title></rect><rect class="h3" x="423" y="23" width="7.5" height="7.5"><title>Oct 27, 2025: 179 reviews</title></rect><rect class="h3" x="423" y="32" width="7.5" height="7.5"><title>Oct 28, 2025: 189 reviews</title></rect><rect class="h3" x="423" y="41" width="7.5" height="7.5"><title>Oct 29, 2025: 186 reviews</title></rect><rect class="h3" x="423" y="50" width="7.5" height="7.5"><title>Oct 30, 2025: 212 reviews</title></rect><rect class="h3" x="423" y="59" width="7.5" height="7.5"><title>Oct 31, 2025: 120 reviews</title></rect><rect class="h1" x="423" y="68" width="7.5" height="7.5"><title>Nov 1, 2025: 24 reviews</title></rect><rect class="h4" x="432" y="14" width="7.5" height="7.5"><title>Nov 2, 2025: 389 reviews</title></rect><rect class="h3" x="432" y="23" width="7.5" height="7.5"><title>Nov 3, 2025: 176 reviews</title></rect><rect class="h4" x="432" y="32" width="7.5" height="7.5"><title>Nov 4, 2025: 249 reviews</title></rect><rect class="h4" x="432" y="41" width="7.5" height="7.5"><title>Nov 5, 2025: 268 reviews</title></rect><rect class="h4" x="432" y="50" width="7.5" height="7.5"><title>Nov 6, 2025: 285 reviews</title></rect><rect class="h3" x="432" y="59" width="7.5" height="7.5"><title>Nov 7, 2025: 121 reviews</title></rect><rect class="h2" x="432" y="68" width="7.5" height="7.5"><title>Nov 8, 2025: 59 reviews</title></rect><rect class="h4" x="441" y="14" width="7.5" height="7.5"><title>Nov 9, 2025: 503 reviews</title></rect><rect class="h4" x="441" y="23" width="7.5" height="7.5"><title>Nov 10, 2025: 298 reviews</title></rect><rect class="h4" x="441" y="32" width="7.5" height="7.5"><title>Nov 11, 2025: 303 reviews</title></rect><rect class="h4" x="441" y="41" width="7.5" height="7.5"><title>Nov 12, 2025: 294 reviews</title></rect><rect class="h4" x="441" y="50" width="7.5" height="7.5"><title>Nov 13, 2025: 319 reviews</title></rect><rect class="h4" x="441" y="59" width="7.5" height="7.5"><title>Nov 14, 2025: 277 reviews</title></rect><rect class="h4" x="441" y="68" width="7.5" height="7.5"><title>Nov 15, 2025: 346 reviews</title></rect><rect class="h4" x="450" y="14" width="7.5" height="7.5"><title>Nov 16, 2025: 304 reviews</title></rect><rect class="h4" x="450" y="23" width="7.5" height="7.5"><title>Nov 17, 2025: 332 reviews</title></rect><rect class="h4" x="450" y="32" width="7.5" height="7.5"><title>Nov 18, 2025: 340 reviews</title></rect><rect class="h4" x="450" y="41" width="7.5" height="7.5"><title>Nov 19, 2025: 326 reviews</title></rect><rect class="h4" x="450" y="50" width="7.5" height="7.5"><title>Nov 20, 2025: 289 reviews</title></rect><rect class="h4" x="450" y="59" width="7.5" height="7.5"><title>Nov 21, 2025: 301 reviews</title></rect><rect class="h4" x="450" y="68" width="7.5" height="7.5"><title>Nov 22, 2025: 273 reviews</title></rect><rect class="h4" x="459" y="14" width="7.5" height="7.5"><title>Nov 23, 2025: 283 reviews</title></rect><rect class="h4" x="459" y="23" width="7.5" height="7.5"><title>Nov 24, 2025: 267 reviews</title></rect><rect class="h4" x="459" y="32" width="7.5" height="7.5"><title>Nov 25, 2025: 260 reviews</title></rect><rect class="h4" x="459" y="41" width="7.5" height="7.5"><title>Nov 26, 2025: 287 reviews</title></rect><rect class="h3" x="459" y="50" width="7.5" height="7.5"><title>Nov 27, 2025: 218 reviews</title></rect><rect class="h4" x="459" y="59" width="7.5" height="7.5"><title>Nov 28, 2025: 270 reviews</title></rect><rect class="h4" x="459" y="68" width="7.5" height="7.5"><title>Nov 29, 2025: 253 reviews</title></rect><rect class="h4" x="468" y="14" width="7.5" height="7.5"><title>Nov 30, 2025: 269 reviews</title></rect><rect class="h4" x="468" y="23" width="7.5" height="7.5"><title>Dec 1, 2025: 280 reviews</title></rect><rect class="h4" x="468" y="32" width="7.5" height="7.5"><title>Dec 2, 2025: 250 reviews</title></rect><rect class="h3" x="468" y="41" width="7.5" height="7.5"><title>Dec 3, 2025: 224 reviews</title></rect><rect class="h3" x="468" y="50" width="7.5" height="7.5"><title>Dec 4, 2025: 204 reviews</title></rect><rect class="h3" x="468" y="59" width="7.5" height="7.5"><title>Dec 5, 2025: 185 reviews</title></rect><rect class="h4" x="468" y="68" width="7.5" height="7.5"><title>Dec 6, 2025: 246 reviews</title></rect><rect class="h4" x="477" y="14" width="7.5" height="7.5"><title>Dec 7, 2025: 3606 reviews</title></rect><rect class="h4" x="477" y="23" width="7.5" height="7.5"><title>Dec 8, 2025: 326 reviews</title></rect><rect class="h4" x="477" y="32" width="7.5" height="7.5"><title>Dec 9, 2025: 254 reviews</title></rect><rect class="h4" x="477" y="41" width="7.5" height="7.5"><title>Dec 10, 2025: 3615 reviews</title></rect><rect class="h4" x="477" y="50" width="7.5" height="7.5"><title>Dec 11, 2025: 328 reviews</title></rect><rect class="h4" x="477" y="59" width="7.5" height="7.5"><title>Dec 12, 2025: 3751 reviews</title></rect><rect class="h4" x="477" y="68" width="7.5" height="7.5"><title>Dec 13, 2025: 353 reviews</title></rect><rect class="h4" x="486" y="14" width="7.5" height="7.5"><title>Dec 14, 2025: 378 reviews</title></rect><rect class="h4" x="486" y="23" width="7.5" height="7.5"><title>Dec 15, 2025: 347 reviews</title></rect><rect class="h4" x="486" y="32" width="7.5" height="7.5"><title>Dec 16, 2025: 348 reviews</title></rect><rect class="h4" x="486" y="41" width="7.5" height="7.5"><title>Dec 17, 2025: 266 reviews</title></rect><rect class="h4" x="486" y="50" width="7.5" height="7.5"><title>Dec 18, 2025: 289 reviews</title></rect><rect class="h4" x="486" y="59" width="7.5" height="7.5"><title>Dec 19, 2025: 257 reviews</title></rect><rect class="h4" x="486" y="68" width="7.5" height="7.5"><title>Dec 20, 2025: 273 reviews</title></rect><rect class="h4" x="495" y="14" width="7.5" height="7.5"><title>Dec 21, 2025: 317 reviews</title></rect><rect class="h4" x="495" y="23" width="7.5" height="7.5"><title>Dec 22, 2025: 267 reviews</title></rect><rect class="h4" x="495" y="32" width="7.5" height="7.5"><title>Dec 23, 2025: 271 reviews</title></rect><rect class="h3" x="495" y="41" width="7.5" height="7.5"><title>Dec 24, 2025: 229 reviews</title></rect><rect class="h3" x="495" y="50" width="7.5" height="7.5"><title>Dec 25, 2025: 227 reviews</title></rect><rect class="h3" x="495" y="59" width="7.5" height="7.5"><title>Dec 26, 2025: 194 reviews</title></rect><rect class="h3" x="495" y="68" width="7.5" height="7.5"><title>Dec 27, 2025: 179 reviews</title></rect><rect class="h3" x="504" y="14" width="7.5" height="7.5"><title>Dec 28, 2025: 192 reviews</title></rect><rect class="h3" x="504" y="23" width="7.5" height="7.5"><title>Dec 29, 2025: 163 reviews</title></rect><rect class="h3" x="504" y="32" width="7.5" height="7.5"><title>Dec 30, 2025: 157 reviews</title></rect><rect class="h2" x="504" y="41" width="7.5" height="7.5"><title>Dec 31, 2025: 49 reviews</title></rect><text x="504" y="9">Jan 2026</text><rect class="h4" x="504" y="50" width="7.5" height="7.5"><title>Jan 1, 2026: 310 reviews</title></rect><rect class="h3" x="504" y="59" width="7.5" height="7.5"><title>Jan 2, 2026: 158 reviews</title></rect><rect class="h3" x="504" y="68" width="7.5" height="7.5"><title>Jan 3, 2026: 224 reviews</title></rect><rect class="h3" x="513" y="14" width="7.5" height="7.5"><title>Jan 4, 2026: 217 reviews</title></rect><rect class="h4" x="513" y="23" width="7.5" height="7.5"><title>Jan 5, 2026: 245 reviews</title></rect><rect class="h4" x="513" y="32" width="7.5" height="7.5"><title>Jan 6, 2026: 275 reviews</title></rect><rect class="h4" x="513" y="41" width="7.5" height="7.5"><title>Jan 7, 2026: 264 reviews</title></rect><rect class="h4" x="513" y="50" width="7.5" height="7.5"><title>Jan 8, 2026: 273 reviews</title></rect><rect class="h4" x="513" y="59" width="7.5" height="7.5"><title>Jan 9, 2026: 263 reviews</title></rect><rect class="h3" x="513" y="68" width="7.5" height="7.5"><title>Jan 10, 2026: 187 reviews</title></rect><rect class="h4" x="522" y="14" width="7.5" height="7.5"><title>Jan 11, 2026: 306 reviews</title></rect><rect class="h3" x="522" y="23" width="7.5" height="7.5"><title>Jan 12, 2026: 221 reviews</title></rect><rect class="h4" x="522" y="32" width="7.5" height="7.5"><title>Jan 13, 2026: 256 reviews</title></rect><rect class="h3" x="522" y="41" width="7.5" height="7.5"><title>Jan 14, 2026: 218 reviews</title></rect><rect class="h3" x="522" y="50" width="7.5" height="7.5"><title>Jan 15, 2026: 213 reviews</title></rect><rect class="h1" x="522" y="59" width="7.5" height="7.5"><title>Jan 16, 2026: 41 reviews</title></rect><rect class="h4" x="522" y="68" width="7.5" height="7.5"><title>Jan 17, 2026: 390 reviews</title></rect><rect class="h4" x="531" y="14" width="7.5" height="7.5"><title>Jan 18, 2026: 268 reviews</title></rect><rect class="h4" x="531" y="23" width="7.5" height="7.5"><title>Jan 19, 2026: 307 reviews</title></rect><rect class="h4" x="531" y="32" width="7.5" height="7.5"><title>Jan 20, 2026: 318 reviews</title></rect><rect class="h3" x="531" y="41" width="7.5" height="7.5"><title>Jan 21, 2026: 128 reviews</title></rect><rect class="h4" x="531" y="50" width="7.5" height="7.5"><title>Jan 22, 2026: 464 reviews</title></rect><rect class="h1" x="531" y="59" width="7.5" height="7.5"><title>Jan 23, 2026: 11 reviews</title></rect><rect class="h4" x="531" y="68" width="7.5" height="7.5"><title>Jan 24, 2026: 600 reviews</title></rect><rect class="h4" x="540" y="14" width="7.5" height="7.5"><title>Jan 25, 2026: 275 reviews</title></rect><rect class="h4" x="540" y="23" width="7.5" height="7.5"><title>Jan 26, 2026: 377 reviews</title></rect><rect class="h3" x="540" y="32" width="7.5" height="7.5"><title>Jan 27, 2026: 188 reviews</title></rect><rect class="h4" x="540" y="41" width="7.5" height="7.5"><title>Jan 28, 2026: 474 reviews</title></rect><rect class="h4" x="540" y="50" width="7.5" height="7.5"><title>Jan 29, 2026: 316 reviews</title></rect><rect class="h4" x="540" y="59" width="7.5" height="7.5"><title>Jan 30, 2026: 305 reviews</title></rect><rect class="h4" x="540" y="68" width="7.5" height="7.5"><title>Jan 31, 2026: 365 reviews</title></rect><rect class="h4" x="549" y="14" width="7.5" height="7.5"><title>Feb 1, 2026: 435 reviews</title></rect><rect class="h4" x="549" y="23" width="7.5" height="7.5"><title>Feb 2, 2026: 384 reviews</title></rect><rect class="h4" x="549" y="32" width="7.5" height="7.5"><title>Feb 3, 2026: 405 reviews</title></rect><rect class="h4" x="549" y="41" width="7.5" height="7.5"><title>Feb 4, 2026: 360 reviews</title></rect><rect class="h4" x="549" y="50" width="7.5" height="7.5"><title>Feb 5, 2026: 519 reviews</title></rect><rect class="h4" x="549" y="59" width="7.5" height="7.5"><title>Feb 6, 2026: 330 reviews</title></rect><rect class="h4" x="549" y="68" width="7.5" height="7.5"><title>Feb 7, 2026: 418 reviews</title></rect><rect class="h4" x="558" y="14" width="7.5" height="7.5"><title>Feb 8, 2026: 349 reviews</title></rect><rect class="h4" x="558" y="23" width="7.5" height="7.5"><title>Feb 9, 2026: 386 reviews</title></rect><rect class="h4" x="558" y="32" width="7.5" height="7.5"><title>Feb 10, 2026: 342 reviews</title></rect><rect class="h4" x="558" y="41" width="7.5" height="7.5"><title>Feb 11, 2026: 333 reviews</title></rect><rect class="h4" x="558" y="50" width="7.5" height="7.5"><title>Feb 12, 2026: 353 reviews</title></rect><rect class="h4" x="558" y="59" width="7.5" height="7.5"><title>Feb 13, 2026: 310 reviews</title></rect><rect class="h4" x="558" y="68" width="7.5" height="7.5"><title>Feb 14, 2026: 276 reviews</title></rect><rect class="h4" x="567" y="14" width="7.5" height="7.5"><title>Feb 15, 2026: 287 reviews</title></rect><rect class="h4" x="567" y="23" width="7.5" height="7.5"><title>Feb 16, 2026: 276 reviews</title></rect><rect class="h4" x="567" y="32" width="7.5" height="7.5"><title>Feb 17, 2026: 284 reviews</title></rect><rect class="h4" x="567" y="41" width="7.5" height="7.5"><title>Feb 18, 2026: 975 reviews</title></rect><rect class="h2" x="567" y="50" width="7.5" height="7.5"><title>Feb 19, 2026: 65 reviews</title></rect><rect class="h2" x="567" y="59" width="7.5" height="7.5"><title>Feb 20, 2026: 87 reviews</title></rect><rect class="h4" x="567" y="68" width="7.5" height="7.5"><title>Feb 21, 2026: 704 reviews</title></rect><rect class="h2" x="576" y="14" width="7.5" height="7.5"><title>Feb 22, 2026: 48 reviews</title></rect><rect class="h1" x="576" y="23" width="7.5" height="7.5"><title>Feb 23, 2026: 12 reviews</title></rect><rect class="h3" x="576" y="32" width="7.5" height="7.5"><title>Feb 24, 2026: 147 reviews</title></rect><rect class="h2" x="576" y="41" width="7.5" height="7.5"><title>Feb 25, 2026: 73 reviews</title></rect><rect class="h3" x="576" y="50" width="7.5" height="7.5"><title>Feb 26, 2026: 198 reviews</title></rect><rect class="h3" x="576" y="59" width="7.5" height="7.5"><title>Feb 27, 2026: 209 reviews</title></rect><rect class="h3" x="576" y="68" width="7.5" height="7.5"><title>Feb 28, 2026: 207 reviews</title></rect><rect class="h4" x="585" y="14" width="7.5" height="7.5"><title>Mar 1, 2026: 958 reviews</title></rect><rect class="h1" x="585" y="23" width="7.5" height="7.5"><title>Mar 2, 2026: 27 reviews</title></rect><rect class="h2" x="585" y="32" width="7.5" height="7.5"><title>Mar 3, 2026: 81 reviews</title></rect><rect class="h1" x="585" y="41" width="7.5" height="7.5"><title>Mar 4, 2026: 43 reviews</title></rect><rect class="h2" x="585" y="50" width="7.5" height="7.5"><title>Mar 5, 2026: 72 reviews</title></rect><rect class="h2" x="585" y="59" width="7.5" height="7.5"><title>Mar 6, 2026: 53 reviews</title></rect><rect class="h4" x="585" y="68" width="7.5" height="7.5"><title>Mar 7, 2026: 898 reviews</title></rect><rect class="h1" x="594" y="14" width="7.5" height="7.5"><title>Mar 8, 2026: 39 reviews</title></rect><rect class="h2" x="594" y="23" width="7.5" height="7.5"><title>Mar 9, 2026: 48 reviews</title></rect><rect class="h0" x="594" y="32" width="7.5" height="7.5"><title>Mar 10, 2026: 0 reviews</title></rect><rect class="h2" x="594" y="41" width="7.5" height="7.5"><title>Mar 11, 2026: 88 reviews</title></rect><rect class="h4" x="594" y="50" width="7.5" height="7.5"><title>Mar 12, 2026: 255 reviews</title></rect><rect class="h2" x="594" y="59" width="7.5" height="7.5"><title>Mar 13, 2026: 46 reviews</title></rect><rect class="h2" x="594" y="68" width="7.5" height="7.5"><title>Mar 14, 2026: 60 reviews</title></rect><rect class="h1" x="603" y="14" width="7.5" height="7.5"><title>Mar 15, 2026: 2 reviews</title></rect><rect class="h3" x="603" y="23" width="7.5" height="7.5"><title>Mar 16, 2026: 196 reviews</title></rect><rect class="h2" x="603" y="32" width="7.5" height="7.5"><title>Mar 17, 2026: 86 reviews</title></rect><rect class="h0" x="603" y="41" width="7.5" height="7.5"><title>Mar 18, 2026: 0 reviews</title></rect><rect class="h2" x="603" y="50" width="7.5" height="7.5"><title>Mar 19, 2026: 87 reviews</title></rect><rect class="h0" x="603" y="59" width="7.5" height="7.5"><title>Mar 20, 2026: 0 reviews</title></rect><rect class="h0" x="603" y="68" width="7.5" height="7.5"><title>Mar 21, 2026: 0 reviews</title></rect><rect class="h4" x="612" y="14" width="7.5" height="7.5"><title>Mar 22, 2026: 466 reviews</title></rect><rect class="h3" x="612" y="23" width="7.5" height="7.5"><title>Mar 23, 2026: 110 reviews</title></rect><rect class="h3" x="612" y="32" width="7.5" height="7.5"><title>Mar 24, 2026: 151 reviews</title></rect><rect class="h3" x="612" y="41" width="7.5" height="7.5"><title>Mar 25, 2026: 125 reviews</title></rect><rect class="h3" x="612" y="50" width="7.5" height="7.5"><title>Mar 26, 2026: 120 reviews</title></rect><rect class="h1" x="612" y="59" width="7.5" height="7.5"><title>Mar 27, 2026: 39 reviews</title></rect><rect class="h1" x="612" y="68" width="7.5" height="7.5"><title>Mar 28, 2026: 41 reviews</title></rect><rect class="h4" x="621" y="14" width="7.5" height="7.5"><title>Mar 29, 2026: 257 reviews</title></rect><rect class="h2" x="621" y="23" width="7.5" height="7.5"><title>Mar 30, 2026: 92 reviews</title></rect><rect class="h3" x="621" y="32" width="7.5" height="7.5"><title>Mar 31, 2026: 137 reviews</title></rect><text x="621" y="9">Apr</text><rect class="h0" x="621" y="41" width="7.5" height="7.5"><title>Apr 1, 2026: 0 reviews</title></rect><rect class="h3" x="621" y="50" width="7.5" height="7.5"><title>Apr 2, 2026: 234 reviews</title></rect><rect class="h1" x="621" y="59" width="7.5" height="7.5"><title>Apr 3, 2026: 42 reviews</title></rect><rect class="h3" x="621" y="68" width="7.5" height="7.5"><title>Apr 4, 2026: 199 reviews</title></rect><rect class="h3" x="630" y="14" width="7.5" height="7.5"><title>Apr 5, 2026: 114 reviews</title></rect><rect class="h3" x="630" y="23" width="7.5" height="7.5"><title>Apr 6, 2026: 106 reviews</title></rect><rect class="h3" x="630" y="32" width="7.5" height="7.5"><title>Apr 7, 2026: 118 reviews</title></rect><rect class="h2" x="630" y="41" width="7.5" height="7.5"><title>Apr 8, 2026: 46 reviews</title></rect><rect class="h3" x="630" y="50" width="7.5" height="7.5"><title>Apr 9, 2026: 190 reviews</title></rect><rect class="h3" x="630" y="59" width="7.5" height="7.5"><title>Apr 10, 2026: 106 reviews</title></rect><rect class="h3" x="630" y="68" width="7.5" height="7.5"><title>Apr 11, 2026: 128 reviews</title></rect><rect class="h3" x="639" y="14" width="7.5" height="7.5"><title>Apr 12, 2026: 108 reviews</title></rect><rect class="h4" x="639" y="23" width="7.5" height="7.5"><title>Apr 13, 2026: 310 reviews</title></rect><rect class="h4" x="639" y="32" width="7.5" height="7.5"><title>Apr 14, 2026: 263 reviews</title></rect><rect class="h0" x="639" y="41" width="7.5" height="7.5"><title>Apr 15, 2026: 0 reviews</title></rect><rect class="h2" x="639" y="50" width="7.5" height="7.5"><title>Apr 16, 2026: 99 reviews</title></rect><rect class="h0" x="639" y="59" width="7.5" height="7.5"><title>Apr 17, 2026: 0 reviews</title></rect><rect class="h3" x="639" y="68" width="7.5" height="7.5"><title>Apr 18, 2026: 101 reviews</title></rect><rect class="h4" x="648" y="14" width="7.5" height="7.5"><title>Apr 19, 2026: 429 reviews</title></rect><rect class="h2" x="648" y="23" width="7.5" height="7.5"><title>Apr 20, 2026: 95 reviews</title></rect><rect class="h1" x="648" y="32" width="7.5" height="7.5"><title>Apr 21, 2026: 30 reviews</title></rect><rect class="h1" x="648" y="41" width="7.5" height="7.5"><title>Apr 22, 2026: 37 reviews</title></rect><rect class="h1" x="648" y="50" width="7.5" height="7.5"><title>Apr 23, 2026: 31 reviews</title></rect><rect class="h1" x="648" y="59" width="7.5" height="7.5"><title>Apr 24, 2026: 14 reviews</title></rect><rect class="h4" x="648" y="68" width="7.5" height="7.5"><title>Apr 25, 2026: 445 reviews</title></rect><rect class="h1" x="657" y="14" width="7.5" height="7.5"><title>Apr 26, 2026: 42 reviews</title></rect><rect class="h3" x="657" y="23" width="7.5" height="7.5"><title>Apr 27, 2026: 120 reviews</title></rect><rect class="h3" x="657" y="32" width="7.5" height="7.5"><title>Apr 28, 2026: 110 reviews</title></rect><rect class="h3" x="657" y="41" width="7.5" height="7.5"><title>Apr 29, 2026: 129 reviews</title></rect><rect class="h3" x="657" y="50" width="7.5" height="7.5"><title>Apr 30, 2026: 116 reviews</title></rect><rect class="h3" x="657" y="59" width="7.5" height="7.5"><title>May 1, 2026: 213 reviews</title></rect><rect class="h3" x="657" y="68" width="7.5" height="7.5"><title>May 2, 2026: 115 reviews</title></rect><rect class="h3" x="666" y="14" width="7.5" height="7.5"><title>May 3, 2026: 167 reviews</title></rect><rect class="h4" x="666" y="23" width="7.5" height="7.5"><title>May 4, 2026: 785 reviews</title></rect><rect class="h3" x="666" y="32" width="7.5" height="7.5"><title>May 5, 2026: 105 reviews</title></rect><rect class="h2" x="666" y="41" width="7.5" height="7.5"><title>May 6, 2026: 87 reviews</title></rect><rect class="h3" x="666" y="50" width="7.5" height="7.5"><title>May 7, 2026: 118 reviews</title></rect><rect class="h3" x="666" y="59" width="7.5" height="7.5"><title>May 8, 2026: 147 reviews</title></rect><rect class="h3" x="666" y="68" width="7.5" height="7.5"><title>May 9, 2026: 162 reviews</title></rect><rect class="h3" x="675" y="14" width="7.5" height="7.5"><title>May 10, 2026: 129 reviews</title></rect><rect class="h3" x="675" y="23" width="7.5" height="7.5"><title>May 11, 2026: 151 reviews</title></rect><rect class="h3" x="675" y="32" width="7.5" height="7.5"><title>May 12, 2026: 190 reviews</title></rect><rect class="h3" x="675" y="41" width="7.5" height="7.5"><title>May 13, 2026: 204 reviews</title></rect><rect class="h3" x="675" y="50" width="7.5" height="7.5"><title>May 14, 2026: 231 reviews</title></rect><rect class="h3" x="675" y="59" width="7.5" height="7.5"><title>May 15, 2026: 220 reviews</title></rect><rect class="h3" x="675" y="68" width="7.5" height="7.5"><title>May 16, 2026: 220 reviews</title></rect><rect class="h4" x="684" y="14" width="7.5" height="7.5"><title>May 17, 2026: 301 reviews</title></rect><rect class="h3" x="684" y="23" width="7.5" height="7.5"><title>May 18, 2026: 229 reviews</title></rect><rect class="h4" x="684" y="32" width="7.5" height="7.5"><title>May 19, 2026: 249 reviews</title></rect><rect class="h3" x="684" y="41" width="7.5" height="7.5"><title>May 20, 2026: 212 reviews</title></rect><rect class="h3" x="684" y="50" width="7.5" height="7.5"><title>May 21, 2026: 199 reviews</title></rect><rect class="h3" x="684" y="59" width="7.5" height="7.5"><title>May 22, 2026: 160 reviews</title></rect><rect class="h3" x="684" y="68" width="7.5" height="7.5"><title>May 23, 2026: 191 reviews</title></rect><rect class="h3" x="693" y="14" width="7.5" height="7.5"><title>May 24, 2026: 194 reviews</title></rect><rect class="h4" x="693" y="23" width="7.5" height="7.5"><title>May 25, 2026: 245 reviews</title></rect><rect class="h4" x="693" y="32" width="7.5" height="7.5"><title>May 26, 2026: 404 reviews</title></rect><rect class="h4" x="693" y="41" width="7.5" height="7.5"><title>May 27, 2026: 359 reviews</title></rect><rect class="h4" x="693" y="50" width="7.5" height="7.5"><title>May 28, 2026: 260 reviews</title></rect><rect class="h3" x="693" y="59" width="7.5" height="7.5"><title>May 29, 2026: 183 reviews</title></rect><rect class="h4" x="693" y="68" width="7.5" height="7.5"><title>May 30, 2026: 338 reviews</title></rect><rect class="h4" x="702" y="14" width="7.5" height="7.5"><title>May 31, 2026: 281 reviews</title></rect><rect class="h4" x="702" y="23" width="7.5" height="7.5"><title>Jun 1, 2026: 251 reviews</title></rect><rect class="h4" x="702" y="32" width="7.5" height="7.5"><title>Jun 2, 2026: 277 reviews</title></rect><rect class="h4" x="702" y="41" width="7.5" height="7.5"><title>Jun 3, 2026: 251 reviews</title></rect><rect class="h4" x="702" y="50" width="7.5" height="7.5"><title>Jun 4, 2026: 301 reviews</title></rect><rect class="h4" x="702" y="59" width="7.5" height="7.5"><title>Jun 5, 2026: 321 reviews</title></rect><rect class="h4" x="702" y="68" width="7.5" height="7.5"><title>Jun 6, 2026: 307 reviews</title></rect><rect class="h4" x="711" y="14" width="7.5" height="7.5"><title>Jun 7, 2026: 410 reviews</title></rect><rect class="h4" x="711" y="23" width="7.5" height="7.5"><title>Jun 8, 2026: 422 reviews</title></rect><rect class="h4" x="711" y="32" width="7.5" height="7.5"><title>Jun 9, 2026: 455 reviews</title></rect><rect class="h4" x="711" y="41" width="7.5" height="7.5"><title>Jun 10, 2026: 405 reviews</title></rect><rect class="h4" x="711" y="50" width="7.5" height="7.5"><title>Jun 11, 2026: 449 reviews</title></rect><rect class="h4" x="711" y="59" width="7.5" height="7.5"><title>Jun 12, 2026: 353 reviews</title></rect><rect class="h4" x="711" y="68" width="7.5" height="7.5"><title>Jun 13, 2026: 418 reviews</title></rect><rect class="h4" x="720" y="14" width="7.5" height="7.5"><title>Jun 14, 2026: 378 reviews</title></rect><rect class="h4" x="720" y="23" width="7.5" height="7.5"><title>Jun 15, 2026: 485 reviews</title></rect><rect class="h4" x="720" y="32" width="7.5" height="7.5"><title>Jun 16, 2026: 356 reviews</title></rect><rect class="h4" x="720" y="41" width="7.5" height="7.5"><title>Jun 17, 2026: 436 reviews</title></rect><rect class="h4" x="720" y="50" width="7.5" height="7.5"><title>Jun 18, 2026: 351 reviews</title></rect><rect class="h4" x="720" y="59" width="7.5" height="7.5"><title>Jun 19, 2026: 616 reviews</title></rect><rect class="h4" x="720" y="68" width="7.5" height="7.5"><title>Jun 20, 2026: 335 reviews</title></rect><rect class="h4" x="729" y="14" width="7.5" height="7.5"><title>Jun 21, 2026: 556 reviews</title></rect><rect class="h4" x="729" y="23" width="7.5" height="7.5"><title>Jun 22, 2026: 279 reviews</title></rect><rect class="h4" x="729" y="32" width="7.5" height="7.5"><title>Jun 23, 2026: 322 reviews</title></rect><rect class="h4" x="729" y="41" width="7.5" height="7.5"><title>Jun 24, 2026: 287 reviews</title></rect><rect class="h4" x="729" y="50" width="7.5" height="7.5"><title>Jun 25, 2026: 311 reviews</title></rect><rect class="h4" x="729" y="59" width="7.5" height="7.5"><title>Jun 26, 2026: 269 reviews</title></rect><rect class="h4" x="729" y="68" width="7.5" height="7.5"><title>Jun 27, 2026: 269 reviews</title></rect><rect class="h4" x="738" y="14" width="7.5" height="7.5"><title>Jun 28, 2026: 342 reviews</title></rect><rect class="h4" x="738" y="23" width="7.5" height="7.5"><title>Jun 29, 2026: 348 reviews</title></rect><rect class="h4" x="738" y="32" width="7.5" height="7.5"><title>Jun 30, 2026: 326 reviews</title></rect><text x="738" y="9">Jul</text><rect class="h4" x="738" y="41" width="7.5" height="7.5"><title>Jul 1, 2026: 397 reviews</title></rect><rect class="h4" x="738" y="50" width="7.5" height="7.5"><title>Jul 2, 2026: 568 reviews</title></rect><rect class="h4" x="738" y="59" width="7.5" height="7.5"><title>Jul 3, 2026: 498 reviews</title></rect><rect class="h3" x="738" y="68" width="7.5" height="7.5"><title>Jul 4, 2026: 141 reviews</title></rect><rect class="h4" x="747" y="14" width="7.5" height="7.5"><title>Jul 5, 2026: 272 reviews</title></rect><rect class="h4" x="747" y="23" width="7.5" height="7.5"><title>Jul 6, 2026: 300 reviews</title></rect><rect class="h4" x="747" y="32" width="7.5" height="7.5"><title>Jul 7, 2026: 295 reviews</title></rect><rect class="h4" x="747" y="41" width="7.5" height="7.5"><title>Jul 8, 2026: 320 reviews</title></rect><rect class="h4" x="747" y="50" width="7.5" height="7.5"><title>Jul 9, 2026: 284 reviews</title></rect><rect class="h3" x="747" y="59" width="7.5" height="7.5"><title>Jul 10, 2026: 207 reviews</title></rect><rect class="h4" x="747" y="68" width="7.5" height="7.5"><title>Jul 11, 2026: 715 reviews</title></rect><rect class="h4" x="756" y="14" width="7.5" height="7.5"><title>Jul 12, 2026: 858 reviews</title></rect><rect class="h3" x="756" y="23" width="7.5" height="7.5"><title>Jul 13, 2026: 209 reviews</title></rect><rect class="h4" x="756" y="32" width="7.5" height="7.5"><title>Jul 14, 2026: 255 reviews</title></rect><rect class="h3" x="756" y="41" width="7.5" height="7.5"><title>Jul 15, 2026: 175 reviews</title></rect><rect class="h4" x="756" y="50" width="7.5" height="7.5"><title>Jul 16, 2026: 303 reviews</title></rect><rect class="h3" x="756" y="59" width="7.5" height="7.5"><title>Jul 17, 2026: 189 reviews</title></rect><rect class="h4" x="756" y="68" width="7.5" height="7.5"><title>Jul 18, 2026: 355 reviews</title></rect><rect class="h4" x="765" y="14" width="7.5" height="7.5"><title>Jul 19, 2026: 280 reviews</title></rect><rect class="h4" x="765" y="23" width="7.5" height="7.5"><title>Jul 20, 2026: 289 reviews</title></rect><rect class="h4" x="765" y="32" width="7.5" height="7.5"><title>Jul 21, 2026: 333 reviews</title></rect><rect class="h4" x="765" y="41" width="7.5" height="7.5"><title>Jul 22, 2026: 325 reviews</title></rect><rect class="h4" x="765" y="50" width="7.5" height="7.5"><title>Jul 23, 2026: 288 reviews</title></rect><rect class="h4" x="765" y="59" width="7.5" height="7.5"><title>Jul 24, 2026: 275 reviews</title></rect><rect class="h4" x="765" y="68" width="7.5" height="7.5"><title>Jul 25, 2026: 884 reviews</title></rect><rect class="h2" x="774" y="14" width="7.5" height="7.5"><title>Jul 26, 2026: 89 reviews</title></rect><rect class="h4" x="774" y="23" width="7.5" height="7.5"><title>Jul 27, 2026: 544 reviews</title></rect><rect class="h1" x="774" y="32" width="7.5" height="7.5"><title>Jul 28, 2026: 38 reviews</title></rect><rect class="h2" x="774" y="41" width="7.5" height="7.5"><title>Jul 29, 2026: 48 reviews</title></rect><rect class="h2" x="774" y="50" width="7.5" height="7.5"><title>Jul 30, 2026: 47 reviews</title></rect><rect class="h2" x="774" y="59" width="7.5" height="7.5"><title>Jul 31, 2026: 55 reviews</title></rect><rect class="h4" x="774" y="68" width="7.5" height="7.5"><title>Aug 1, 2026: 408 reviews</title></rect><rect class="h2" x="783" y="14" width="7.5" height="7.5"><title>Aug 2, 2026: 50 reviews</title></rect><rect class="h4" x="783" y="23" width="7.5" height="7.5"><title>Aug 3, 2026: 293 reviews</title></rect><rect class="h3" x="783" y="32" width="7.5" height="7.5"><title>Aug 4, 2026: 117 reviews</title></rect><rect class="h1" x="783" y="41" width="7.5" height="7.5"><title>Aug 5, 2026: 24 reviews</title></rect><rect class="h3" x="783" y="50" width="7.5" height="7.5"><title>Aug 6, 2026: 106 reviews</title></rect><rect class="h1" x="783" y="59" width="7.5" height="7.5"><title>Aug 7, 2026: 19 reviews</title></rect><rect class="h2" x="783" y="68" width="7.5" height="7.5"><title>Aug 8, 2026: 99 reviews</title></rect><rect class="h1" x="792" y="14" width="7.5" height="7.5"><title>Aug 9, 2026: 17 reviews</title></rect><rect class="h4" x="792" y="23" width="7.5" height="7.5"><title>Aug 10, 2026: 399 reviews</title></rect><rect class="h3" x="792" y="32" width="7.5" height="7.5"><title>Aug 11, 2026: 101 reviews</title></rect><rect class="h3" x="792" y="41" width="7.5" height="7.5"><title>Aug 12, 2026: 134 reviews</title></rect><rect class="h2" x="792" y="50" width="7.5" height="7.5"><title>Aug 13, 2026: 48 reviews</title></rect><rect class="h1" x="792" y="59" width="7.5" height="7.5"><title>Aug 14, 2026: 3 reviews</title></rect><rect class="h2" x="792" y="68" width="7.5" height="7.5"><title>Aug 15, 2026: 53 reviews</title></rect><rect class="h4" x="801" y="14" width="7.5" height="7.5"><title>Aug 16, 2026: 261 reviews</title></rect><rect class="h1" x="801" y="23" width="7.5" height="7.5"><title>Aug 17, 2026: 7 reviews</title></rect><rect class="h3" x="801" y="32" width="7.5" height="7.5"><title>Aug 18, 2026: 174 reviews</title></rect><rect class="h3" x="801" y="41" width="7.5" height="7.5"><title>Aug 19, 2026: 188 reviews</title></rect><rect class="h1" x="801" y="50" width="7.5" height="7.5"><title>Aug 20, 2026: 19 reviews</title></rect><rect class="h0" x="801" y="59" width="7.5" height="7.5"><title>Aug 21, 2026: 0 reviews</title></rect><rect class="h0" x="801" y="68" width="7.5" height="7.5"><title>Aug 22, 2026: 0 reviews</title></rect><rect class="h4" x="810" y="14" width="7.5" height="7.5"><title>Aug 23, 2026: 263 reviews</title></rect><rect class="h2" x="810" y="23" width="7.5" height="7.5"><title>Aug 24, 2026: 99 reviews</title></rect><rect class="h3" x="810" y="32" width="7.5" height="7.5"><title>Aug 25, 2026: 110 reviews</title></rect><rect class="h2" x="810" y="41" width="7.5" height="7.5"><title>Aug 26, 2026: 82 reviews</title></rect><rect class="h1" x="810" y="50" width="7.5" height="7.5"><title>Aug 27, 2026: 7 reviews</title></rect><rect class="h2" x="810" y="59" width="7.5" height="7.5"><title>Aug 28, 2026: 58 reviews</title></rect><rect class="h1" x="810" y="68" width="7.5" height="7.5"><title>Aug 29, 2026: 43 reviews</title></rect><rect class="h3" x="819" y="14" width="7.5" height="7.5"><title>Aug 30, 2026: 238 reviews</title></rect><rect class="h2" x="819" y="23" width="7.5" height="7.5"><title>Aug 31, 2026: 86 reviews</title></rect><rect class="h2" x="819" y="32" width="7.5" height="7.5"><title>Sep 1, 2026: 72 reviews</title></rect><rect class="h3" x="819" y="41" width="7.5" height="7.5"><title>Sep 2, 2026: 101 reviews</title></rect><rect class="h1" x="819" y="50" width="7.5" height="7.5"><title>Sep 3, 2026: 34 reviews</title></rect><rect class="h1" x="819" y="59" width="7.5" height="7.5"><title>Sep 4, 2026: 6 reviews</title></rect><rect class="h4" x="819" y="68" width="7.5" height="7.5"><title>Sep 5, 2026: 263 reviews</title></rect><rect class="h0" x="828" y="14" width="7.5" height="7.5"><title>Sep 6, 2026: 0 reviews</title></rect><rect class="h3" x="828" y="23" width="7.5" height="7.5"><title>Sep 7, 2026: 186 reviews</title></rect><rect class="h2" x="828" y="32" width="7.5" height="7.5"><title>Sep 8, 2026: 83 reviews</title></rect><rect class="h2" x="828" y="41" width="7.5" height="7.5"><title>Sep 9, 2026: 91 reviews</title></rect><rect class="h2" x="828" y="50" width="7.5" height="7.5"><title>Sep 10, 2026: 84 reviews</title></rect><rect class="h1" x="828" y="59" width="7.5" height="7.5"><title>Sep 11, 2026: 45 reviews</title></rect><rect class="h1" x="828" y="68" width="7.5" height="7.5"><title>Sep 12, 2026: 6 reviews</title></rect><rect class="h3" x="837" y="14" width="7.5" height="7.5"><title>Sep 13, 2026: 233 reviews</title></rect><rect class="h1" x="837" y="23" width="7.5" height="7.5"><title>Sep 14, 2026: 20 reviews</title></rect><rect class="h3" x="837" y="32" width="7.5" height="7.5"><title>Sep 15, 2026: 154 reviews</title></rect><rect class="h1" x="837" y="41" width="7.5" height="7.5"><title>Sep 16, 2026: 5 reviews</title></rect><rect class="h3" x="837" y="50" width="7.5" height="7.5"><title>Sep 17, 2026: 197 reviews</title></rect><rect class="h3" x="837" y="59" width="7.5" height="7.5"><title>Sep 18, 2026: 103 reviews</title></rect><rect class="h3" x="837" y="68" width="7.5" height="7.5"><title>Sep 19, 2026: 111 reviews</title></rect><rect class="h2" x="846" y="14" width="7.5" height="7.5"><title>Sep 20, 2026: 92 reviews</title></rect><rect class="h3" x="846" y="23" width="7.5" height="7.5"><title>Sep 21, 2026: 116 reviews</title></rect><rect class="h3" x="846" y="32" width="7.5" height="7.5"><title>Sep 22, 2026: 113 reviews</title></rect><rect class="h2" x="846" y="41" width="7.5" height="7.5"><title>Sep 23, 2026: 48 reviews</title></rect><rect class="h3" x="846" y="50" width="7.5" height="7.5"><title>Sep 24, 2026: 154 reviews</title></rect><rect class="h2" x="846" y="59" width="7.5" height="7.5"><title>Sep 25, 2026: 82 reviews</title></rect><rect class="h1" x="846" y="68" width="7.5" height="7.5"><title>Sep 26, 2026: 1 reviews</title></rect><rect class="h0" x="855" y="14" width="7.5" height="7.5"><title>Sep 27, 2026: 0 reviews</title></rect><rect class="h3" x="855" y="23" width="7.5" height="7.5"><title>Sep 28, 2026: 149 reviews</title></rect><rect class="h3" x="855" y="32" width="7.5" height="7.5"><title>Sep 29, 2026: 235 reviews</title></rect><rect class="h2" x="855" y="41" width="7.5" height="7.5"><title>Sep 30, 2026: 93 reviews</title></rect><text x="855" y="9">Oct</text><rect class="h0" x="855" y="50" width="7.5" height="7.5"><title>Oct 1, 2026: 0 reviews</title></rect><rect class="h1" x="855" y="59" width="7.5" height="7.5"><title>Oct 2, 2026: 15 reviews</title></rect><rect class="h0" x="855" y="68" width="7.5" height="7.5"><title>Oct 3, 2026: 0 reviews</title></rect><rect class="h3" x="864" y="14" width="7.5" height="7.5"><title>Oct 4, 2026: 113 reviews</title></rect><rect class="h4" x="864" y="23" width="7.5" height="7.5"><title>Oct 5, 2026: 305 reviews</title></rect><rect class="h2" x="864" y="32" width="7.5" height="7.5"><title>Oct 6, 2026: 79 reviews</title></rect><rect class="h3" x="864" y="41" width="7.5" height="7.5"><title>Oct 7, 2026: 105 reviews</title></rect><rect class="h3" x="864" y="50" width="7.5" height="7.5"><title>Oct 8, 2026: 104 reviews</title></rect><rect class="h1" x="864" y="59" width="7.5" height="7.5"><title>Oct 9, 2026: 6 reviews</title></rect><rect class="h2" x="864" y="68" width="7.5" height="7.5"><title>Oct 10, 2026: 74 reviews</title></rect><rect class="h3" x="873" y="14" width="7.5" height="7.5"><title>Oct 11, 2026: 174 reviews</title></rect><rect class="h2" x="873" y="23" width="7.5" height="7.5"><title>Oct 12, 2026: 91 reviews</title></rect><rect class="h3" x="873" y="32" width="7.5" height="7.5"><title>Oct 13, 2026: 104 reviews</title></rect><rect class="h1" x="873" y="41" width="7.5" height="7.5"><title>Oct 14, 2026: 27 reviews</title></rect><rect class="h3" x="873" y="50" width="7.5" height="7.5"><title>Oct 15, 2026: 184 reviews</title></rect><rect class="h1" x="873" y="59" width="7.5" height="7.5"><title>Oct 16, 2026: 32 reviews</title></rect></svg>
<figcaption>108,178 Anki reviews on 651 of the 679 days from December 7, 2024 to October 16, 2026; the longest streak was 155 days. Mature cards are ones I won't see again for three weeks or more.</figcaption>
</figure>
<table class="anki-decks"><thead><tr><th>Deck</th><th>Cards</th><th>Mature</th><th>Reviews</th><th></th></tr></thead><tbody><tr><td>Latin</td><td>4,681</td><td>3,660</td><td>28,068</td><td class="status">active</td></tr><tr><td>Greek</td><td>1,397</td><td>707</td><td>3,737</td><td class="status">active</td></tr><tr><td>Sanskrit</td><td>2,044</td><td>623</td><td>8,097</td><td class="status">active</td></tr><tr><td>Chinese</td><td>10,195</td><td>717</td><td>12,276</td><td class="status">active</td></tr><tr><td>Italian</td><td>1,769</td><td>1,707</td><td>17,668</td><td class="status">paused since May 2026</td></tr><tr><td>Spanish</td><td>1,559</td><td>1,498</td><td>15,777</td><td class="status">paused since May 2026</td></tr><tr><td>French</td><td>87</td><td>87</td><td>711</td><td class="status">active</td></tr><tr><td>Poetry by heart</td><td>75</td><td>55</td><td>1,500</td><td class="status">active</td></tr><tr><td>Math</td><td>93</td><td>93</td><td>566</td><td class="status">active</td></tr></tbody></table>
<!-- /anki -->
<sky-template path="main.html" />
<sky-block name="title">${frontmatter.title} · </sky-block>
<sky-block name="content">
<article class="orbit-page">
<a class="back" href="/orbits">← all orbits</a>
<h1>${frontmatter.title}</h1>
<p class="currently">${frontmatter.currently}</p>
<div class="markdown">
<sky-slot name="content" />
</div>
</article>
</sky-block>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script><sky-include path="theme.js" /></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><sky-slot name="title" />${meta.title}</title>
<meta name="description" content="${meta.description}" />
<meta name="theme-color" content="#142420" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="stylesheet" href="/style.css" />
</head>
<body>
<!-- Every page is a sheet of paper lying on the source it was built
from. This checkbox lifts the sheet; no JavaScript involved. -->
<input type="checkbox" id="xray" class="xray" aria-label="Show the source of this page" />
<div class="desk">
<div class="sheet">
<!-- Under the paper, the page's source, for the candle to show. -->
<div class="underside" aria-hidden="true"><sky-sources item="underside.html" /></div>
<div class="paper" aria-hidden="true"></div>
<svg class="flame" viewBox="0 0 24 44" aria-hidden="true">
<defs>
<radialGradient id="flame-body" cx="50%" cy="78%" r="62%">
<stop offset="0" stop-color="#fffbe8" />
<stop offset="0.35" stop-color="#ffe08a" />
<stop offset="0.7" stop-color="#ff9a2e" />
<stop offset="1" stop-color="#e2470f" stop-opacity="0" />
</radialGradient>
<radialGradient id="flame-core" cx="50%" cy="80%" r="55%">
<stop offset="0" stop-color="#ffffff" />
<stop offset="0.6" stop-color="#fff3c4" />
<stop offset="1" stop-color="#ffd166" stop-opacity="0" />
</radialGradient>
</defs>
<path class="flame-body" fill="url(#flame-body)" d="M12 1C15 11 22 18 21 29 20 37 16 43 12 43 8 43 4 37 3 29 2 18 9 11 12 1Z" />
<path class="flame-core" fill="url(#flame-core)" d="M12 15C14 21 17 26 16.5 32 16 37 14 40 12 40 10 40 8 37 7.5 32 7 26 10 21 12 15Z" />
<ellipse class="flame-base" cx="12" cy="40" rx="3.2" ry="2" fill="#5aa9ff" opacity="0.45" />
</svg>
<label for="xray" class="curl" title="Lift the page to see what it's made of" aria-hidden="true"></label>
<label for="xray" class="sheet-cover" title="Back to the page"></label>
<sky-include path="_nav.html" />
<main class="page">
<sky-slot name="content" />
</main>
<sky-include path="_footer.html" />
</div>
<aside class="ground" aria-label="The source of this page">
<header class="ground-head">
<p>
<a href="https://github.com/mas-4/skyblue">skyblue</a> built this
page from these files, in the order it used them.
</p>
<label for="xray" class="ground-close">back to the page →</label>
</header>
<sky-sources item="source.html" />
</aside>
</div>
<script><sky-include path="candle.js" /></script>
</body>
</html>
// The light switch. Until it's flipped, the page follows the system's
// light or dark preference (that part is CSS). Flipping it picks the other
// one and remembers it. This runs in <head>, so a saved choice applies
// before the page is drawn.
(() => {
const root = document.documentElement;
const system = matchMedia("(prefers-color-scheme: dark)");
try {
const saved = localStorage.getItem("theme");
if (saved === "light" || saved === "dark") root.dataset.theme = saved;
} catch {}
const isDark = () => (root.dataset.theme ? root.dataset.theme === "dark" : system.matches);
document.addEventListener("DOMContentLoaded", () => {
const button = document.querySelector(".theme-toggle");
if (!button) return;
const show = () => button.setAttribute("aria-checked", String(isDark()));
button.hidden = false;
show();
system.addEventListener("change", show);
button.addEventListener("click", () => {
root.dataset.theme = isDark() ? "light" : "dark";
try {
localStorage.setItem("theme", root.dataset.theme);
} catch {}
show();
});
});
})();
<header class="site-header">
<nav class="nav">
<a class="brand" href="/">
<svg class="brand-mark" viewBox="0 0 1536 1174" aria-hidden="true"><use href="/ibis.svg#ibis" /></svg>
${meta.title}
</a>
<div class="nav-links">
<a href="/">home</a>
<a href="/about">about</a>
<a href="/projects">projects</a>
<a href="/orbits">orbits</a>
<label for="xray" class="source-toggle" title="Lift the page to see what it's made of">source</label>
</div>
<button type="button" class="theme-toggle" role="switch" aria-checked="false" aria-label="Dark mode" title="Light or dark" hidden><span class="knob"></span></button>
</nav>
</header>
<footer class="site-footer">
<div class="social">
<a href="https://github.com/mas-4">
<svg
aria-labelledby="svg-inline--fa-title-Yppzrr98YU17"
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 496 512"
>
<title id="svg-inline--fa-title-Yppzrr98YU17">GitHub</title>
<path
fill="currentColor"
d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"
></path>
</svg>
</a>
<a href="https://stackoverflow.com/users/9691276/mas">
<svg
aria-labelledby="svg-inline--fa-title-kGxnyVLHc64Z"
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 384 512"
>
<title id="svg-inline--fa-title-kGxnyVLHc64Z">StackOverflow</title>
<path
fill="currentColor"
d="M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z"
></path>
</svg>
</a>
<a href="https://www.linkedin.com/in/michael-sendker">
<svg
aria-labelledby="svg-inline--fa-title-BaV39z6dqIIX"
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 448 512"
>
<title id="svg-inline--fa-title-BaV39z6dqIIX">LinkedIn</title>
<path
fill="currentColor"
d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"
></path>
</svg>
</a>
<a href="https://raw.githubusercontent.com/mas-4/resume/master/main.pdf">
<svg
aria-labelledby="svg-inline--fa-title-fmQP80A0S9GF"
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 384 512"
>
<title id="svg-inline--fa-title-fmQP80A0S9GF">Résumé</title>
<path
fill="currentColor"
d="M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"
></path>
</svg>
</a>
</div>
<!-- skyblue fills these in as it builds the site. -->
<pre class="receipt" aria-label="How this page was built"><span class="prompt">$</span> skyblue --version
skyblue <a href="https://github.com/mas-4/skyblue">${sky.version}</a> (compiled by cprime <a href="https://github.com/mas-4/cprime">${sky.compiler}</a>)
<span class="prompt">$</span> skyblue -i src -o build
skyblue: ${sky.pages} pages and ${sky.files} files -> build
<span class="note"># ${sky.date}, ${sky.time}, ${sky.ms} ms. Two small scripts: the candle and the light switch.</span></pre>
<p class="copyright">© 2022–2026 Michael Sendker</p>
</footer>
// The candle. Hold the pointer over the words and a flame lights above
// them: the paper warms and thins, and the page's source shows through
// from underneath. Only over the letters themselves, not blank paper.
// Without this script the paper simply stays opaque.
(() => {
const sheet = document.querySelector(".sheet");
if (!sheet || !matchMedia("(hover: hover) and (pointer: fine)").matches) return;
// Is (x, y) on a letter? Find the text position under the point, then
// check that the point is inside the box of the character on either side.
const range = document.createRange();
const overGlyph = (x, y) => {
let node, offset;
if (document.caretPositionFromPoint) {
const pos = document.caretPositionFromPoint(x, y);
if (pos) [node, offset] = [pos.offsetNode, pos.offset];
} else if (document.caretRangeFromPoint) {
const r = document.caretRangeFromPoint(x, y);
if (r) [node, offset] = [r.startContainer, r.startOffset];
}
if (!node || node.nodeType !== Node.TEXT_NODE || !sheet.contains(node)) return false;
for (const i of [offset - 1, offset]) {
if (i < 0 || i >= node.length || /\s/.test(node.data[i])) continue;
range.setStart(node, i);
range.setEnd(node, i + 1);
for (const box of range.getClientRects())
if (x >= box.left && x <= box.right && y >= box.top && y <= box.bottom) return true;
}
return false;
};
let x = 0, y = 0, queued = false, dousing = 0;
const draw = () => {
queued = false;
const box = sheet.getBoundingClientRect();
sheet.style.setProperty("--cx", x - box.left + "px");
sheet.style.setProperty("--cy", y - box.top + "px");
if (overGlyph(x, y)) {
clearTimeout(dousing);
dousing = 0;
sheet.classList.add("lit");
} else if (!dousing && sheet.classList.contains("lit")) {
// A moment's grace, so it doesn't strobe across the spaces between words
dousing = setTimeout(() => {
sheet.classList.remove("lit");
dousing = 0;
}, 350);
}
};
sheet.addEventListener("pointermove", (e) => {
[x, y] = [e.clientX, e.clientY];
if (!queued) {
queued = true;
requestAnimationFrame(draw);
}
});
sheet.addEventListener("pointerleave", () => {
clearTimeout(dousing);
dousing = 0;
sheet.classList.remove("lit");
});
})();
<section class="source">
<header class="source-head">
<a href="https://github.com/mas-4/standingwater-flat/blob/main/src/${source.path}">${source.path}</a>
<span>${source.lines} lines</span>
</header>
<pre class="listing"><code>${source.code}</code></pre>
</section>
<pre class="listing"><code>${source.code}</code></pre>