{"updated_at":"2026-10-23T20:05:49.209Z","events":[{"id":"2113492502355562875","date":"2026-10-23","type":"reset","group":"reset","summary":"Landing tomorrow before 10am PST together with a small ship.","url":"https://x.com/thsottiaux/status/2113492502355562875","announced_at":"2026-10-23T17:40:51.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"operator-observed","source_label":"Operator observation; awaiting Tibo","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"is_reply":true,"replying_to":"thsottiaux","announcement_state":"announced","observation_result":"reset_observed","observation_sources":[],"observed_at":"2026-10-23T17:40:51.000Z","reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2113492187770175603","date":"2026-10-23","type":"reset","group":"reset","summary":"Day 18/ Decisions API is GA, OpenResponses joined the Linux Foundation, we shipped some performance improvements and Uber is going all-in on codex &amp; work. But yes… that’s a res","url":"https://x.com/thsottiaux/status/2113492187770175603","announced_at":"2026-10-23T04:46:19.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["launch"],"announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2113162277688070445","date":"2026-10-22","type":"reset","group":"reset","summary":"Day 17/ Bet you thought we forgot, but no, it’s reset day today.\n\nAlso good time to remind you to get Daybreak Blue access, it only takes 15 mins and you don’t want to have to do i","url":"https://x.com/thsottiaux/status/2113162277688070445","announced_at":"2026-10-22T17:10:01.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"operator-observed","source_label":"Operator observation; awaiting Tibo","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"announcement_state":"announced","observation_result":"reset_observed","observation_sources":[],"observed_at":"2026-10-22T17:10:01.000Z","reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2113162413008884099","date":"2026-10-22","type":"reset","group":"reset","summary":"Lands tomorrow before 10am PST.","url":"https://x.com/thsottiaux/status/2113162413008884099","announced_at":"2026-10-22T06:55:54.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"is_reply":true,"replying_to":"thsottiaux","announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2112432076767289678","date":"2026-10-20","type":"reset","group":"reset","summary":"Day 15 of the 28-day ship-or-reset series: hours after “We’re cooked”, Tibo posted the global reset: “Nevermind, we’re still cooking... and reset. Enjoy.”","url":"https://x.com/thsottiaux/status/2112432076767289678","announced_at":"2026-10-20T06:33:48.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2111492738025959922","date":"2026-10-17","type":"reset","group":"reset","summary":"Day 13 of the 28-day ship-or-reset series: the global reset promised “by EOD PST” landed at 20:41 UTC on our checks; Tibo then posted: “Done.”","url":"https://x.com/thsottiaux/status/2111492738025959922","announced_at":"2026-10-17T20:41:01.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2111492673890824348","date":"2026-10-17","type":"reset","group":"reset","summary":"Day 13/ Le limit reset https://t.co/zXd2DIH5xf","url":"https://x.com/thsottiaux/status/2111492673890824348","announced_at":"2026-10-17T16:20:57.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2110595554036400151","date":"2026-10-15","type":"reset","group":"reset","summary":"Day 10 of the 28-day ship-or-reset series: the global reset promised to land “within the next 2 hours” arrived at 06:13 UTC on our checks; Tibo: “Done and dusted.”","url":"https://x.com/thsottiaux/status/2110595554036400151","announced_at":"2026-10-15T06:13:01.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2109873307722121591","date":"2026-10-13","type":"reset","group":"reset","summary":"Mashed @poteto on the house.","url":"https://x.com/thsottiaux/status/2109873307722121591","announced_at":"2026-10-13T05:06:10.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["promo"],"is_reply":true,"replying_to":"thsottiaux","announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2109873287853707513","date":"2026-10-13","type":"reset","group":"reset","summary":"What would you like with your side of reset? It's done. https://t.co/gpNaB6otgy","url":"https://x.com/thsottiaux/status/2109873287853707513","announced_at":"2026-10-13T05:06:06.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2109812360596865224","date":"2026-10-13","type":"reset","group":"reset","summary":"Day 8 of the 28-day ship-or-reset series: the global reset promised “by EOD PST” landed at 05:03 UTC on our checks, and Tibo confirmed: “It’s done.”","url":"https://x.com/thsottiaux/status/2109812360596865224","announced_at":"2026-10-13T05:03:51.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2109812216212099456","date":"2026-10-13","type":"reset","group":"reset","summary":"Day 8/ Reset","url":"https://x.com/thsottiaux/status/2109812216212099456","announced_at":"2026-10-13T01:03:25.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2109132167112782291","date":"2026-10-11","type":"reset","group":"reset","summary":"Day 6 of the 28-day ship-or-reset series: the global reset promised that afternoon landed by evening: “Put the reset in the bag. All propagated.”","url":"https://x.com/thsottiaux/status/2109132167112782291","announced_at":"2026-10-11T04:01:09.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2109045392684032299","date":"2026-10-11","type":"reset","group":"reset","summary":"Global reset by EOD. May the tokens do good things for you.","url":"https://x.com/thsottiaux/status/2109045392684032299","announced_at":"2026-10-11T03:57:51.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"operator-observed","source_label":"Operator observation; awaiting Tibo","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"is_reply":true,"replying_to":"thsottiaux","announcement_state":"announced","observation_result":"reset_observed","observation_sources":[],"observed_at":"2026-10-11T03:57:51.000Z","reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2109045220411351517","date":"2026-10-10","type":"reset","group":"reset","summary":"Day 6/ Reset","url":"https://x.com/thsottiaux/status/2109045220411351517","announced_at":"2026-10-10T22:15:39.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"medium","source":"live","source_label":"Live radar feed","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"announcement_state":"none","observation_result":"unknown","observation_sources":[],"reset_verification_status":"pending","time_kind":"announcement / confirmation time","confirmed":false,"banked_grant":false},{"id":"2107975486798164736","date":"2026-10-07","type":"credits","group":"credits","summary":"The banked reset Tibo announced landed on our monitoring accounts.","url":null,"announced_at":"2026-10-07T23:24:55.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"observed","source_label":"Observed on our monitoring accounts","reset_kind":"banked","banked_state":"available","text":"The banked reset Tibo announced landed on our monitoring accounts.","audience":[],"incident_links":[],"reason_tags":["banked"],"time_kind":"announcement / confirmation time","observed_variant":"after_announcement","confirmed":true,"banked_grant":false},{"id":"2107913674593644711","date":"2026-10-07","type":"credits","group":"credits","summary":"40M active users milestone: one banked reset loaded into every paid Codex and ChatGPT Work account on Day 3 of the 28-day series, alongside GPT-6 in Chat.","url":"https://x.com/thsottiaux/status/2107913674593644711","announced_at":"2026-10-07T19:19:17.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"unknown","text":"40M active users milestone: one banked reset loaded into every paid Codex and ChatGPT Work account on Day 3 of the 28-day series, alongside GPT-6 in Chat.","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["milestone","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2107676072871600470","date":"2026-10-07","type":"reset","group":"reset","summary":"Full reset for Codex and ChatGPT Work users, picked by community vote in the 28-day ship-or-reset series: “the reset has been processed. Enjoy!”","url":"https://x.com/thsottiaux/status/2107676072871600470","announced_at":"2026-10-07T03:35:09.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2106131810921136451","date":"2026-10-02","type":"reset","group":"reset","summary":"Global reset for all paid ChatGPT accounts, promised the evening before after GPT-6.1 Sol’s slow start and confirmed that afternoon: “Reset all propagated. Enjoy.”","url":"https://x.com/thsottiaux/status/2106131810921136451","announced_at":"2026-10-02T21:18:48.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["incident"],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2105008012525769969","date":"2026-09-29","type":"credits","group":"credits","summary":"A new banked Codex reset landed on our monitoring accounts. Tibo has not announced it on X yet.","url":null,"announced_at":"2026-09-29T18:53:14.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"observed","source_label":"Observed on our monitoring accounts","reset_kind":"banked","banked_state":"available","text":"A new banked Codex reset landed on our monitoring accounts. Tibo has not announced it on X yet.","audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","observed_variant":"fresh","confirmed":true,"banked_grant":true},{"id":"2103911959544610829","date":"2026-09-26","type":"reset","group":"reset","summary":"Reset for every paid Codex and ChatGPT Work user, promised after a brief disruption and confirmed fully propagated that evening: “Resets all propagated. That will be all.”","url":"https://x.com/thsottiaux/status/2103911959544610829","announced_at":"2026-09-26T18:17:54.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2102463847714247142","date":"2026-09-22","type":"credits","group":"credits","summary":"GPT-6 Sol and Luna launch: one banked reset loaded into every Plus, Pro and Business account, alongside a permanent 50% API price cut.","url":"https://x.com/thsottiaux/status/2102463847714247142","announced_at":"2026-09-22T18:23:37.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"arriving","text":"GPT-6 Sol and Luna launch: one banked reset loaded into every Plus, Pro and Business account, alongside a permanent 50% API price cut.","audience":[],"incident_links":[],"reason_tags":["launch","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2098685367058612394","date":"2026-09-12","type":"reset","group":"reset","summary":"Reset for every paid Codex and ChatGPT Work user, announced with that morning's Astra quality update and confirmed fully propagated: “Reset all propagated. Sweet dreams.”","url":"https://x.com/thsottiaux/status/2098685367058612394","announced_at":"2026-09-12T08:09:17.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2097752790177370535","date":"2026-09-09","type":"credits","group":"credits","summary":"Some banked resets did not fully apply in ChatGPT Work and Codex that morning; everyone who used one in the affected window gets another one plus an apology email.","url":"https://x.com/thsottiaux/status/2097752790177370535","announced_at":"2026-09-09T18:23:34.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"unknown","text":"Some banked resets did not fully apply in ChatGPT Work and Codex that morning; everyone who used one in the affected window gets another one plus an apology email.","audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2097043464538264003","date":"2026-09-08","type":"reset","group":"reset","summary":"Global reset landed around 01:34 UTC, seen in usage meters before any announcement; Tibo confirmed at 04:05 UTC: “All reset for everyone. Enjoy the week with Astra.”","url":"https://x.com/thsottiaux/status/2097043464538264003","announced_at":"2026-09-08T01:34:00.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2096035437299237298","date":"2026-09-05","type":"credits","group":"credits","summary":"Astra rolled out ahead of schedule, and every Plus, Pro and Business user still gets a full banked reset that day, landing by end of day.","url":"https://x.com/thsottiaux/status/2096035437299237298","announced_at":"2026-09-05T00:39:25.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"arriving","text":"Astra rolled out ahead of schedule, and every Plus, Pro and Business user still gets a full banked reset that day, landing by end of day.","audience":[],"incident_links":[],"reason_tags":["banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2095979536043401428","date":"2026-09-04","type":"credits","group":"credits","summary":"Astra access compensation, second day: a banked reset for the Plus and Business users still without Astra, landing by end of day.","url":"https://x.com/thsottiaux/status/2095979536043401428","announced_at":"2026-09-04T20:57:17.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"arriving","text":"Astra access compensation, second day: a banked reset for the Plus and Business users still without Astra, landing by end of day.","audience":[],"incident_links":[],"reason_tags":["banked","compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2095651088502591861","date":"2026-09-03","type":"credits","group":"credits","summary":"Astra access compensation: one banked reset for every day without Astra on a paid ChatGPT plan, starting that day — the first drop promised about three hours later.","url":"https://x.com/thsottiaux/status/2095651088502591861","announced_at":"2026-09-03T23:12:09.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"announced","text":"Astra access compensation: one banked reset for every day without Astra on a paid ChatGPT plan, starting that day — the first drop promised about three hours later.","audience":[],"incident_links":[],"reason_tags":["launch","banked","compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2094252447271366730","date":"2026-08-31","type":"reset","group":"reset","summary":"25M active users: to celebrate, usage reset for every paid ChatGPT Work and Codex subscription — the reset promised for 6pm PT the previous day.","url":"https://x.com/thsottiaux/status/2094252447271366730","announced_at":"2026-08-31T02:34:27.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["milestone","promo"],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2093801758665715784","date":"2026-08-29","type":"reset","group":"reset","summary":"Usage reset for all paid Codex and ChatGPT Work users, with usage fixes (compaction, memory, goals, subagents, MCP) that stretch limits 10–50% further.","url":"https://x.com/thsottiaux/status/2093801758665715784","announced_at":"2026-08-29T20:43:34.878Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2093014447833116908","date":"2026-08-27","type":"reset","group":"reset","summary":"Reset for all ChatGPT Work and Codex users: “Never slept better and feeling reseted. Brand new me and brand new usage for all ChatGPT Work and Codex users.”","url":"https://x.com/thsottiaux/status/2093014447833116908","announced_at":"2026-08-27T16:35:05.348Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2092311059197808936","date":"2026-08-25","type":"reset","group":"reset","summary":"Quiet reset for all paid plans — weekly usage back to 100% from ~14:00 UTC. Tibo confirmed it only in replies (\"Ah yeah, forgot to say\") ahead of the Plus 5h-limit return.","url":"https://x.com/thsottiaux/status/2092311059197808936","announced_at":"2026-08-25T14:15:00.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2091688655828246890","date":"2026-08-24","type":"reset","group":"reset","summary":"Good Sunday reset propagated to accounts, alongside usage fixes for the issues found the day before — \"you should feel a positive difference.\"","url":"https://x.com/thsottiaux/status/2091688655828246890","announced_at":"2026-08-24T00:46:51.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["incident"],"announcement_state":"announced","time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2090964822422949999","date":"2026-08-22","type":"credits","group":"credits","summary":"The 20M-milestone banked reset landed in accounts for all paid Codex and ChatGPT Work users, redeemable on demand.","url":"https://x.com/thsottiaux/status/2090964822422949999","announced_at":"2026-08-22T00:50:36.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"available","text":"The 20M-milestone banked reset landed in accounts for all paid Codex and ChatGPT Work users, redeemable on demand.","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["milestone","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2090947196107764189","date":"2026-08-21","type":"credits","group":"credits","summary":"Banked reset delivery window: arriving by 8pm PST for all paid ChatGPT Work and Codex users.","url":"https://x.com/thsottiaux/status/2090947196107764189","announced_at":"2026-08-21T23:40:34.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"arriving","text":"Banked reset delivery window: arriving by 8pm PST for all paid ChatGPT Work and Codex users.","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2090766694897619318","date":"2026-08-21","type":"credits","group":"credits","summary":"20M active users milestone: announced one banked reset for every Codex and ChatGPT Work user, credited during the day for on-demand use.","url":"https://x.com/thsottiaux/status/2090766694897619318","announced_at":"2026-08-21T11:43:19.000Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"banked","banked_state":"announced","text":"20M active users milestone: announced one banked reset for every Codex and ChatGPT Work user, credited during the day for on-demand use.","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["milestone","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2087706104814023111","date":"2026-08-13","type":"reset","group":"reset","summary":"Crossed 15M active users: a celebratory reset for everyone, landing within the hour — announced late as old news from a bunch of days ago.","url":"https://x.com/thsottiaux/status/2087706104814023111","announced_at":"2026-08-13T01:01:37.000Z","effective_at":null,"official_window":{"label":"within an hour","start_at":"2026-08-13T01:01:37.000Z","end_at":"2026-08-13T02:01:37.000Z","target_kind":"deadline","target_at":"2026-08-13T02:01:37.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["milestone"],"announcement_state":"announced","time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2086972802457063486","date":"2026-08-11","type":"reset","group":"reset","summary":"Hi. It is done. This completed the reset promised for Monday; the reference weekly-usage card returned to 100% remaining.","url":"https://x.com/thsottiaux/status/2086972802457063486","announced_at":"2026-08-11T00:27:44.842Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2086188036493344823","date":"2026-08-08","type":"reset","group":"reset","summary":"Usage limits reset for all paid users of ChatGPT Work and Codex to celebrate GPT-5.6 Sol availability.","url":"https://x.com/thsottiaux/status/2086188036493344823","announced_at":"2026-08-08T20:29:22.056Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["launch","promo"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2083395449814229287","date":"2026-08-01","type":"reset","group":"reset","summary":"Usage limits reset for Codex and ChatGPT Work to celebrate a week of efficiency and GPT-5.6 Luna throughput.","url":"https://x.com/thsottiaux/status/2083395449814229287","announced_at":"2026-08-01T03:32:37.508Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["launch","promo"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2082317452755751098","date":"2026-07-29","type":"reset","group":"reset","summary":"Usage limits reset for all ChatGPT Work and Codex users, alongside an update on GPT-5.6 Sol using Codex limits faster than expected.","url":"https://x.com/thsottiaux/status/2082317452755751098","announced_at":"2026-07-29T04:09:02.981Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":["launch"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2081940052154933696","date":"2026-07-28","type":"reset","group":"reset","summary":"Back at the laptop: usage limits reset for all paid users of Codex and ChatGPT Work.","url":"https://x.com/thsottiaux/status/2081940052154933696","announced_at":"2026-07-28T03:09:23.666Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2081096447718723984","date":"2026-07-25","type":"reset","group":"reset","summary":"Usage limits reset for all Codex and ChatGPT Work users after an almost-global outage the previous night.","url":"https://x.com/thsottiaux/status/2081096447718723984","announced_at":"2026-07-25T19:17:12.695Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":"hard","audience":["codex","chatgpt_work"],"incident_links":[{"incident_id":"01KYC921K145JTR1JK7DYKGWH1","evidence":"explicit","source_url":"https://x.com/thsottiaux/status/2081096447718723984"}],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2079609157934886975","date":"2026-07-21","type":"reset","group":"reset","summary":"10M users: new usage reset for paid Codex and ChatGPT Work users, landing within the hour.","url":"https://x.com/thsottiaux/status/2079609157934886975","announced_at":"2026-07-21T16:47:15Z","effective_at":null,"official_window":{"label":"within an hour","start_at":"2026-07-21T16:47:15.000Z","end_at":"2026-07-21T17:47:15.000Z","target_kind":"deadline","target_at":"2026-07-21T17:47:15.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["milestone"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2078320950488297917","date":"2026-07-18","type":"reset","group":"reset","summary":"Oops... I did it again. Enjoy reset usage limits for all paid users for Codex and ChatGPT Work. Super grateful for an incredible team who is iterating at lightspeed and keeping…","url":"https://x.com/thsottiaux/status/2078320950488297917","announced_at":"2026-07-18T03:28:22Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2077607697487188198","date":"2026-07-16","type":"reset","group":"reset","summary":"9M active users: another reset, restoring 100% weekly usage limit.","url":"https://x.com/thsottiaux/status/2077607697487188198","announced_at":"2026-07-16T04:14:09Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["milestone"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2077114635308986427","date":"2026-07-14","type":"reset","group":"reset","summary":"8M active users across Codex and ChatGPT Work: reset for all, and still no 5h rate limit, to explore GPT-5.6 Sol.","url":"https://x.com/thsottiaux/status/2077114635308986427","announced_at":"2026-07-14T19:34:54Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["milestone","launch","unlock"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2076735790567338203","date":"2026-07-13","type":"credits","group":"credits","summary":"7M active users milestone: added a banked reset to every account, appliable on demand from desktop/web.","url":"https://x.com/thsottiaux/status/2076735790567338203","announced_at":"2026-07-13T18:29:31Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"banked_state":"unknown","text":"7M active users milestone: added a banked reset to every account, appliable on demand from desktop/web.","audience":[],"incident_links":[],"reason_tags":["milestone","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2076418567143408112","date":"2026-07-12","type":"credits","group":"credits","summary":"Added a banked reset to 500k ChatGPT Work/Codex users; shipped banked-reset redemption on web and mobile.","url":"https://x.com/thsottiaux/status/2076418567143408112","announced_at":"2026-07-12T21:28:59Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"banked_state":"unknown","text":"Added a banked reset to 500k ChatGPT Work/Codex users; shipped banked-reset redemption on web and mobile.","audience":[],"incident_links":[],"reason_tags":["launch","banked"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2075820987833274448","date":"2026-07-11","type":"reset","group":"reset","summary":"Introducing... another usage limit reset for all our ChatGPT Work and Codex users. Should land over next 30 minutes. Hope you have an awesome weekend. Thank you for pushing our…","url":"https://x.com/thsottiaux/status/2075820987833274448","announced_at":"2026-07-11T05:54:25Z","effective_at":null,"official_window":{"label":"within 30 minutes","start_at":"2026-07-11T05:54:25.000Z","end_at":"2026-07-11T06:24:25.000Z","target_kind":"deadline","target_at":"2026-07-11T06:24:25.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["promo"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2075641131002700120","date":"2026-07-10","type":"reset","group":"reset","summary":"Hello beautiful people! We have reset usage limits across Codex and ChatGPT Work. And another one will come later in the day. Rejoice. Now that I have your attention, a quick…","url":"https://x.com/thsottiaux/status/2075641131002700120","announced_at":"2026-07-10T17:59:43Z","effective_at":null,"official_window":{"label":"later today","start_at":"2026-07-10T17:59:43.000Z","end_at":"2026-07-11T06:59:59.999Z","time_zone":"America/Los_Angeles"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2075330198887940337","date":"2026-07-09","type":"reset","group":"reset","summary":"Enjoy a full reset of your usage limits for ChatGPT Work and Codex. Propagating in the next hour. @_rajanagarwal just joined to work on model research and push on coding…","url":"https://x.com/thsottiaux/status/2075330198887940337","announced_at":"2026-07-09T21:24:11Z","effective_at":null,"official_window":{"label":"within an hour","start_at":"2026-07-09T21:24:11.000Z","end_at":"2026-07-09T22:24:11.000Z","target_kind":"deadline","target_at":"2026-07-09T22:24:11.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2071740419030053227","date":"2026-06-29","type":"reset","group":"reset","summary":"Full reset within the hour plus one additional banked reset, after usage was being consumed faster than expected.","url":"https://x.com/thsottiaux/status/2071740419030053227","announced_at":"2026-06-29T23:39:41Z","effective_at":null,"official_window":{"label":"within an hour","start_at":"2026-06-29T23:39:41.000Z","end_at":"2026-06-30T00:39:41.000Z","target_kind":"deadline","target_at":"2026-06-30T00:39:41.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["banked","compensation"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":true},{"id":"2071381664853319742","date":"2026-06-28","type":"reset","group":"reset","summary":"As we are still investigating, I have reset everyone's Codex usage limits. This is a hard reset given some users had stacked up to three banked resets already that they can apply…","url":"https://x.com/thsottiaux/status/2071381664853319742","announced_at":"2026-06-28T23:54:07Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2070653282440405046","date":"2026-06-26","type":"reset","group":"reset","summary":"We are giving all Codex users a usage reset on the house. Should be showing in your accounts in the next few hours. We have applied some mitigations, but our investigation hasn't…","url":"https://x.com/thsottiaux/status/2070653282440405046","announced_at":"2026-06-26T23:39:48Z","effective_at":null,"official_window":{"label":"within a few hours","start_at":"2026-06-26T23:39:48.000Z","end_at":"2026-06-27T02:39:48.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident","promo"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2067399435009622521","date":"2026-06-18","type":"reset","group":"reset","summary":"\"Sneaky double reset\": full reset applied plus an extra reset deposited into the reset bank.","url":"https://x.com/thsottiaux/status/2067399435009622521","announced_at":"2026-06-18T00:10:10Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":true},{"id":"2062329981548802523","date":"2026-06-04","type":"reset","group":"reset","summary":"Hi. Over the last 24 hours we had three separate small incidents that affected Codex reliability. Those are three too many and we are taking active steps for them to not…","url":"https://x.com/thsottiaux/status/2062329981548802523","announced_at":"2026-06-04T00:25:58Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2061106703446450392","date":"2026-05-31","type":"reset","group":"reset","summary":"The Codex usage limits have been reset for all paid ChatGPT subscriptions. You should be back to 100% weekly and 100% hourly limits. Let the tokens do incredible things today and…","url":"https://x.com/thsottiaux/status/2061106703446450392","announced_at":"2026-05-31T15:25:06Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2058280452851638313","date":"2026-05-23","type":"reset","group":"reset","summary":"Some of you noticed limits drained faster in Codex, we root caused it to an optimization that we rolled back that had an impact on cache hit rates when compacting across long…","url":"https://x.com/thsottiaux/status/2058280452851638313","announced_at":"2026-05-23T20:14:35Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2055707616605835333","date":"2026-05-16","type":"reset","group":"reset","summary":"Codex usage limits have now been reset across all paid plans. Enjoy the weekend!","url":"https://x.com/thsottiaux/status/2055707616605835333","announced_at":"2026-05-16T17:51:03Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["promo"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2048997818673537399","date":"2026-04-28","type":"reset","group":"reset","summary":"Reset Codex rate limits for ALL paid plans to celebrate a good week and let everyone build with GPT-5.5.","url":"https://x.com/thsottiaux/status/2048997818673537399","announced_at":"2026-04-28T05:28:43Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["launch","promo"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2046367145588916687","date":"2026-04-20","type":"reset","group":"reset","summary":"Codex incident is mitigated, seeing recovery. Lasted about 10 mins, Codex itself helped with the remediation, but ultimately the insight came from a human this time. Apologies for…","url":"https://x.com/thsottiaux/status/2046367145588916687","announced_at":"2026-04-20T23:15:21Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident","compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2044943514832871564","date":"2026-04-17","type":"reset","group":"reset","summary":"Codex 1-year anniversary: let Codex reset its own rate limits across all plans.","url":"https://x.com/thsottiaux/status/2044943514832871564","announced_at":"2026-04-17T00:58:21Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["milestone"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2042299371602264319","date":"2026-04-09","type":"reset","group":"reset","summary":"Launched the $100 plan with a lot of included Codex usage; reset limits alongside it.","url":"https://x.com/thsottiaux/status/2042299371602264319","announced_at":"2026-04-09T17:51:28Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["launch"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2041655710346572085","date":"2026-04-07","type":"reset","group":"reset","summary":"3M weekly Codex users milestone (up from 2M a month earlier); reset rate limits to celebrate.","url":"https://x.com/thsottiaux/status/2041655710346572085","announced_at":"2026-04-07T23:13:48Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["milestone","promo"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2039248564967424483","date":"2026-04-01","type":"reset","group":"reset","summary":"Our Codex dashboards are showing increased rate of users hitting rate limits and since we don't fully understand why I have made the cautious decision of resetting the usage…","url":"https://x.com/thsottiaux/status/2039248564967424483","announced_at":"2026-04-01T07:48:39Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2037346989244096581","date":"2026-03-27","type":"reset","group":"reset","summary":"Hello. We have reset Codex usage limits across all plans to let everyone experiment with the magnificent plugins we just launched, and because it had been a while! You can just…","url":"https://x.com/thsottiaux/status/2037346989244096581","announced_at":"2026-03-27T01:52:28Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["launch"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2031605592352313567","date":"2026-03-11","type":"reset","group":"reset","summary":"OK, Codex is back and stable and we should be good for a while. Reset button pressed, should see it in a bit","url":"https://x.com/thsottiaux/status/2031605592352313567","announced_at":"2026-03-11T05:38:13Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2031216405266481489","date":"2026-03-10","type":"reset","group":"reset","summary":"This codex issue is now fully resolved and stable for the last couple of hours. You have come to expect it, but yes, that means we will be reseting rate limits in a bit. Enjoy.","url":"https://x.com/thsottiaux/status/2031216405266481489","announced_at":"2026-03-10T03:51:43Z","effective_at":null,"official_window":{"label":"official hint — timing unspecified","start_at":"2026-03-10T03:51:43.000Z","end_at":"2026-03-11T03:51:43.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"2030474136024400173","date":"2026-03-08","type":"reset","group":"reset","summary":"We don’t have evidence of a widespread issue with codex usage being drained faster than it should but there are enough reports and we have reset rate limits for plus & pro…","url":"https://x.com/thsottiaux/status/2030474136024400173","announced_at":"2026-03-08T02:42:13Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2029308599835738218","date":"2026-03-04","type":"reset","group":"reset","summary":"Fixed a bug where the 2X promotional limit increase was not applied to ~9% of Plus/Pro users; reset limits to compensate.","url":"https://x.com/thsottiaux/status/2029308599835738218","announced_at":"2026-03-04T21:30:47Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident","compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2028649088594436225","date":"2026-03-03","type":"reset","group":"reset","summary":"Codex is back up. We introduced an issue that caused requests to be blocked and rejected as high cyber risk. This was fixed in ~8 mins and we are now back online and fully…","url":"https://x.com/thsottiaux/status/2028649088594436225","announced_at":"2026-03-03T01:50:07Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2004100061933064395","date":"2025-12-25","type":"reset","group":"reset","summary":"Holiday gift: reset rate limits AND lifted usage limits to 2X the usual until Jan 1.","url":"https://x.com/thsottiaux/status/2004100061933064395","announced_at":"2025-12-25T08:01:03Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["promo","unlock"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2002137269134819610","date":"2025-12-19","type":"reset","group":"reset","summary":"We rewrote the underlying system to track and bill usage in Codex and we have reset usage limits in the process. Backfilling is time consuming and it’s more fun to give free…","url":"https://x.com/thsottiaux/status/2002137269134819610","announced_at":"2025-12-19T22:01:37Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":[],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"2001114683047317723","date":"2025-12-17","type":"reset","group":"reset","summary":"Didn’t need to do this in a while, but you know the drill. We have reset everyone’s usage limits, enjoy more Codex and apologies for the disruption.","url":"https://x.com/thsottiaux/status/2001114683047317723","announced_at":"2025-12-17T02:18:14Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"1995988609896513743","date":"2025-12-02","type":"reset","group":"reset","summary":"We have reset the usage limits for everyone in Codex, which helps us mitigate the issue the fastest and the team will continue to work on the underlying cause. This should…","url":"https://x.com/thsottiaux/status/1995988609896513743","announced_at":"2025-12-02T22:49:02Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"1992370994028388670","date":"2025-11-22","type":"reset","group":"reset","summary":"We have reset rate limits for all Codex users to compensate for the unusual high latencies in or near the US in the previous hours. Grateful for the team working hard behind the…","url":"https://x.com/thsottiaux/status/1992370994028388670","announced_at":"2025-11-22T23:13:56Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["compensation"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false},{"id":"1986166501435711936","date":"2025-11-05","type":"reset","group":"reset","summary":"Codex outage resolved. We suffered a minor outage for last 45 minutes which turned into a global outage for last 30 minutes, this is now resolved and we have reset the rate…","url":"https://x.com/thsottiaux/status/1986166501435711936","announced_at":"2025-11-05T20:19:29Z","effective_at":null,"official_window":{"label":"within 30 minutes","start_at":"2025-11-05T20:19:29.000Z","end_at":"2025-11-05T20:49:29.000Z","target_kind":"deadline","target_at":"2025-11-05T20:49:29.000Z"},"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident"],"time_kind":"announcement / preview time","confirmed":true,"banked_grant":false},{"id":"1968163721034994139","date":"2025-09-17","type":"reset","group":"reset","summary":"We have reset everyone's limits for gpt-5-codex to allow you all to benefit more from it today and as a way to make up for the slowdowns earlier while we were provisioning…","url":"https://x.com/thsottiaux/status/1968163721034994139","announced_at":"2025-09-17T04:02:52Z","effective_at":null,"official_window":null,"preview":false,"scope":"global","confidence":"high","source":"archive","source_label":"Verified archive","reset_kind":null,"audience":[],"incident_links":[],"reason_tags":["incident","launch"],"time_kind":"announcement / confirmation time","confirmed":true,"banked_grant":false}],"rhythm":{"latest_reset_at":"2026-10-23T17:40:51.000Z","chart":"<div class=\"rhythm-surface\" id=\"live-rhythm-surface\"><div class=\"rhythm-panel rhythm-panel-activity\"><div class=\"rhythm-panel-head\"><strong>Codex reset calendar</strong><span class=\"term-meta\">last 26 weeks</span></div><div class=\"rhythm-chart-wrap rhythm-heatmap-wrap\" tabindex=\"0\" role=\"region\" aria-label=\"Codex reset calendar: verified reset dates and banked reset updates over the last 26 weeks\"><svg id=\"live-rhythm-heatmap\" class=\"rhythm-chart rhythm-heatmap\" viewBox=\"0 0 570 184\" role=\"img\" aria-label=\"Codex reset calendar: verified reset dates and banked reset updates over the last 26 weeks\"><text class=\"rhythm-heatmap-month\" x=\"42\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Apr</text><text class=\"rhythm-heatmap-month\" x=\"137\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Jun</text><text class=\"rhythm-heatmap-month\" x=\"213\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Jul</text><text class=\"rhythm-heatmap-month\" x=\"289\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Aug</text><text class=\"rhythm-heatmap-month\" x=\"384\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Sep</text><text class=\"rhythm-heatmap-month\" x=\"460\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Oct</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"49\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Mon</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"87\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Wed</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"125\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Fri</text><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-04-28\" aria-label=\"Apr 28: 7.3 days since the previous reset\"><title>Apr 28: 7.3 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-05-16\" aria-label=\"May 16: 19 days since the previous reset\"><title>May 16: 19 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-05-23\" aria-label=\"May 23: 7.1 days since the previous reset\"><title>May 23: 7.1 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-05-31\" aria-label=\"May 31: 7.8 days since the previous reset\"><title>May 31: 7.8 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-06-04\" aria-label=\"Jun 4: 3.4 days since the previous reset\"><title>Jun 4: 3.4 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-06-18\" aria-label=\"Jun 18: 14 days since the previous reset\"><title>Jun 18: 14 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-06-26\" aria-label=\"Jun 26: 9.0 days since the previous reset\"><title>Jun 26: 9.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-06-28\" aria-label=\"Jun 28: 2.0 days since the previous reset\"><title>Jun 28: 2.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-06-29\" aria-label=\"Jun 29: 1.0 days since the previous reset\"><title>Jun 29: 1.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-09\" aria-label=\"Jul 9: 9.9 days since the previous reset\"><title>Jul 9: 9.9 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-10\" aria-label=\"Jul 10: 0.9 days since the previous reset\"><title>Jul 10: 0.9 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-11\" aria-label=\"Jul 11: verified reset\"><title>Jul 11: verified reset</title><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-07-12\" aria-label=\"Jul 12: banked reset update · not a reset\" data-banked-count=\"1\"><title>Jul 12: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-07-13\" aria-label=\"Jul 13: banked reset update · not a reset\" data-banked-count=\"1\"><title>Jul 13: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-14\" aria-label=\"Jul 14: 4.1 days since the previous reset\"><title>Jul 14: 4.1 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-16\" aria-label=\"Jul 16: 1.4 days since the previous reset\"><title>Jul 16: 1.4 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-18\" aria-label=\"Jul 18: 2.0 days since the previous reset\"><title>Jul 18: 2.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-21\" aria-label=\"Jul 21: 3.6 days since the previous reset\"><title>Jul 21: 3.6 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-25\" aria-label=\"Jul 25: 4.1 days since the previous reset\"><title>Jul 25: 4.1 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-28\" aria-label=\"Jul 28: 2.3 days since the previous reset\"><title>Jul 28: 2.3 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-07-29\" aria-label=\"Jul 29: 1.0 days since the previous reset\"><title>Jul 29: 1.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-31\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-01\" aria-label=\"Aug 1: 3.0 days since the previous reset\"><title>Aug 1: 3.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-08\" aria-label=\"Aug 8: 7.7 days since the previous reset\"><title>Aug 8: 7.7 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-11\" aria-label=\"Aug 11: 2.2 days since the previous reset\"><title>Aug 11: 2.2 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-13\" aria-label=\"Aug 13: 2.0 days since the previous reset\"><title>Aug 13: 2.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-08-21\" aria-label=\"Aug 21: banked reset update · not a reset\" data-banked-count=\"2\"><title>Aug 21: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-08-22\" aria-label=\"Aug 22: banked reset update · not a reset\" data-banked-count=\"1\"><title>Aug 22: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-24\" aria-label=\"Aug 24: 11 days since the previous reset\"><title>Aug 24: 11 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-25\" aria-label=\"Aug 25: 1.6 days since the previous reset\"><title>Aug 25: 1.6 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-27\" aria-label=\"Aug 27: 2.1 days since the previous reset\"><title>Aug 27: 2.1 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-29\" aria-label=\"Aug 29: 2.2 days since the previous reset\"><title>Aug 29: 2.2 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-08-31\" aria-label=\"Aug 31: 1.2 days since the previous reset\"><title>Aug 31: 1.2 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-03\" aria-label=\"Sep 3: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 3: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-04\" aria-label=\"Sep 4: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 4: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-05\" aria-label=\"Sep 5: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 5: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-09-08\" aria-label=\"Sep 8: 8.0 days since the previous reset\"><title>Sep 8: 8.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-09\" aria-label=\"Sep 9: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 9: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-09-12\" aria-label=\"Sep 12: 4.3 days since the previous reset\"><title>Sep 12: 4.3 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-22\" aria-label=\"Sep 22: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 22: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-09-26\" aria-label=\"Sep 26: 14 days since the previous reset\"><title>Sep 26: 14 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-29\" aria-label=\"Sep 29: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 29: banked reset update · not a reset</title><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-02\" aria-label=\"Oct 2: 6.1 days since the previous reset\"><title>Oct 2: 6.1 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset is-banked\" data-date=\"2026-10-07\" aria-label=\"Oct 7: 4.3 days since the previous reset · banked reset update\" data-banked-count=\"2\"><title>Oct 7: 4.3 days since the previous reset · banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#7fd1ff\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-11\" aria-label=\"Oct 11: 4.0 days since the previous reset\"><title>Oct 11: 4.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-13\" aria-label=\"Oct 13: 2.0 days since the previous reset\"><title>Oct 13: 2.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-15\" aria-label=\"Oct 15: 2.0 days since the previous reset\"><title>Oct 15: 2.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-17\" aria-label=\"Oct 17: 2.6 days since the previous reset\"><title>Oct 17: 2.6 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-20\" aria-label=\"Oct 20: 2.4 days since the previous reset\"><title>Oct 20: 2.4 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset\" data-date=\"2026-10-22\" aria-label=\"Oct 22: 2.4 days since the previous reset\"><title>Oct 22: 2.4 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#2f9d5d\" stroke=\"#41ff8b\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-reset is-latest\" data-date=\"2026-10-23\" aria-label=\"Oct 23: 1.0 days since the previous reset\"><title>Oct 23: 1.0 days since the previous reset</title><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#ffb454\" stroke=\"#ffb454\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-future\" data-date=\"2026-10-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\".28\"></rect></g><g class=\"rhythm-heatmap-day is-future\" data-date=\"2026-10-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\".28\"></rect></g></svg></div><ul class=\"rhythm-legend\" aria-label=\"Calendar legend\"><li class=\"rhythm-legend-item\"><span class=\"rhythm-legend-swatch is-reset\" aria-hidden=\"true\"></span>verified reset</li><li class=\"rhythm-legend-item\"><span class=\"rhythm-legend-swatch is-latest\" aria-hidden=\"true\"></span>last global reset</li><li class=\"rhythm-legend-item\"><span class=\"rhythm-legend-swatch is-banked\" aria-hidden=\"true\"></span><a href=\"/banked-reset\">banked reset update</a><span class=\"rhythm-legend-note\">· not a reset · never moves the clock</span></li></ul></div><div class=\"rhythm-panel rhythm-panel-intervals\"><div class=\"rhythm-panel-head\"><strong>Days between resets</strong><span class=\"term-meta\">last 90 days</span></div><div class=\"rhythm-chart-wrap\" tabindex=\"0\" role=\"region\" aria-label=\"Bar chart of days between consecutive verified resets over the last 90 days\"><svg id=\"live-rhythm-chart\" class=\"rhythm-chart\" viewBox=\"0 0 768 278\" role=\"img\" aria-label=\"Bar chart of days between consecutive verified resets over the last 90 days\"><line class=\"rhythm-base\" x1=\"16\" y1=\"240\" x2=\"752\" y2=\"240\"></line><g class=\"rhythm-bar\"><title>Jul 28: 2.3 days since the previous reset</title><rect x=\"28.0\" y=\"209\" width=\"23.3\" height=\"31\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"39.7\" y=\"201\" text-anchor=\"middle\">2.3d</text><text class=\"rhythm-date\" x=\"39.7\" y=\"262\" text-anchor=\"middle\">Jul 28</text></g><g class=\"rhythm-bar\"><title>Jul 29: 1.0 days since the previous reset</title><rect x=\"59.3\" y=\"226\" width=\"23.3\" height=\"14\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"71.0\" y=\"218\" text-anchor=\"middle\">1.0d</text></g><g class=\"rhythm-bar\"><title>Aug 1: 3.0 days since the previous reset</title><rect x=\"90.6\" y=\"201\" width=\"23.3\" height=\"39\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"102.3\" y=\"193\" text-anchor=\"middle\">3.0d</text><text class=\"rhythm-date\" x=\"102.3\" y=\"262\" text-anchor=\"middle\">Aug 1</text></g><g class=\"rhythm-bar\"><title>Aug 8: 7.7 days since the previous reset</title><rect x=\"121.9\" y=\"138\" width=\"23.3\" height=\"102\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"133.6\" y=\"130\" text-anchor=\"middle\">7.7d</text></g><g class=\"rhythm-bar\"><title>Aug 11: 2.2 days since the previous reset</title><rect x=\"153.2\" y=\"211\" width=\"23.3\" height=\"29\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"164.9\" y=\"203\" text-anchor=\"middle\">2.2d</text><text class=\"rhythm-date\" x=\"164.9\" y=\"262\" text-anchor=\"middle\">Aug 11</text></g><g class=\"rhythm-bar\"><title>Aug 13: 2.0 days since the previous reset</title><rect x=\"184.5\" y=\"213\" width=\"23.3\" height=\"27\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"196.2\" y=\"205\" text-anchor=\"middle\">2.0d</text></g><g class=\"rhythm-bar\"><title>Aug 24: 11 days since the previous reset</title><rect x=\"215.8\" y=\"95\" width=\"23.3\" height=\"145\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"227.5\" y=\"87\" text-anchor=\"middle\">11d</text><text class=\"rhythm-date\" x=\"227.5\" y=\"262\" text-anchor=\"middle\">Aug 24</text></g><g class=\"rhythm-bar\"><title>Aug 25: 1.6 days since the previous reset</title><rect x=\"247.1\" y=\"219\" width=\"23.3\" height=\"21\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"258.8\" y=\"211\" text-anchor=\"middle\">1.6d</text></g><g class=\"rhythm-bar\"><title>Aug 27: 2.1 days since the previous reset</title><rect x=\"278.4\" y=\"212\" width=\"23.3\" height=\"28\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"290.1\" y=\"204\" text-anchor=\"middle\">2.1d</text><text class=\"rhythm-date\" x=\"290.1\" y=\"262\" text-anchor=\"middle\">Aug 27</text></g><g class=\"rhythm-bar\"><title>Aug 29: 2.2 days since the previous reset</title><rect x=\"309.7\" y=\"211\" width=\"23.3\" height=\"29\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"321.4\" y=\"203\" text-anchor=\"middle\">2.2d</text></g><g class=\"rhythm-bar\"><title>Aug 31: 1.2 days since the previous reset</title><rect x=\"341.0\" y=\"224\" width=\"23.3\" height=\"16\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"352.7\" y=\"216\" text-anchor=\"middle\">1.2d</text><text class=\"rhythm-date\" x=\"352.7\" y=\"262\" text-anchor=\"middle\">Aug 31</text></g><g class=\"rhythm-bar\"><title>Sep 8: 8.0 days since the previous reset</title><rect x=\"372.3\" y=\"135\" width=\"23.3\" height=\"105\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"384.0\" y=\"127\" text-anchor=\"middle\">8.0d</text></g><g class=\"rhythm-bar\"><title>Sep 12: 4.3 days since the previous reset</title><rect x=\"403.7\" y=\"184\" width=\"23.3\" height=\"56\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"415.3\" y=\"176\" text-anchor=\"middle\">4.3d</text><text class=\"rhythm-date\" x=\"415.3\" y=\"262\" text-anchor=\"middle\">Sep 12</text></g><g class=\"rhythm-bar\"><title>Sep 26: 14 days since the previous reset</title><rect x=\"435.0\" y=\"50\" width=\"23.3\" height=\"190\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"446.6\" y=\"42\" text-anchor=\"middle\">14d</text></g><g class=\"rhythm-bar\"><title>Oct 2: 6.1 days since the previous reset</title><rect x=\"466.3\" y=\"159\" width=\"23.3\" height=\"81\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"477.9\" y=\"151\" text-anchor=\"middle\">6.1d</text><text class=\"rhythm-date\" x=\"477.9\" y=\"262\" text-anchor=\"middle\">Oct 2</text></g><g class=\"rhythm-bar\"><title>Oct 7: 4.3 days since the previous reset</title><rect x=\"497.6\" y=\"184\" width=\"23.3\" height=\"56\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"509.2\" y=\"176\" text-anchor=\"middle\">4.3d</text></g><g class=\"rhythm-bar\"><title>Oct 11: 4.0 days since the previous reset</title><rect x=\"528.9\" y=\"187\" width=\"23.3\" height=\"53\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"540.5\" y=\"179\" text-anchor=\"middle\">4.0d</text><text class=\"rhythm-date\" x=\"540.5\" y=\"262\" text-anchor=\"middle\">Oct 11</text></g><g class=\"rhythm-bar\"><title>Oct 13: 2.0 days since the previous reset</title><rect x=\"560.2\" y=\"213\" width=\"23.3\" height=\"27\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"571.8\" y=\"205\" text-anchor=\"middle\">2.0d</text></g><g class=\"rhythm-bar\"><title>Oct 15: 2.0 days since the previous reset</title><rect x=\"591.5\" y=\"213\" width=\"23.3\" height=\"27\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"603.1\" y=\"205\" text-anchor=\"middle\">2.0d</text><text class=\"rhythm-date\" x=\"603.1\" y=\"262\" text-anchor=\"middle\">Oct 15</text></g><g class=\"rhythm-bar\"><title>Oct 17: 2.6 days since the previous reset</title><rect x=\"622.8\" y=\"206\" width=\"23.3\" height=\"34\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"634.4\" y=\"198\" text-anchor=\"middle\">2.6d</text></g><g class=\"rhythm-bar\"><title>Oct 20: 2.4 days since the previous reset</title><rect x=\"654.1\" y=\"208\" width=\"23.3\" height=\"32\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"665.7\" y=\"200\" text-anchor=\"middle\">2.4d</text><text class=\"rhythm-date\" x=\"665.7\" y=\"262\" text-anchor=\"middle\">Oct 20</text></g><g class=\"rhythm-bar\"><title>Oct 22: 2.4 days since the previous reset</title><rect x=\"685.4\" y=\"208\" width=\"23.3\" height=\"32\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"697.0\" y=\"200\" text-anchor=\"middle\">2.4d</text></g><g class=\"rhythm-bar is-latest\"><title>Oct 23: 1.0 days since the previous reset</title><rect x=\"716.7\" y=\"227\" width=\"23.3\" height=\"13\" rx=\"3\"></rect><text class=\"rhythm-value\" x=\"728.3\" y=\"219\" text-anchor=\"middle\">1.0d</text><text class=\"rhythm-date\" x=\"728.3\" y=\"262\" text-anchor=\"middle\">Oct 23</text></g></svg></div></div></div>","trend":"All-time median gap: 3.7 days · last 30 days: 2.5 days · tracked since Sep 2025"},"home_rhythm":{"latest_reset_at":"2026-10-23T17:40:51.000Z","chart":"<svg id=\"live-home-rhythm-chart\" class=\"rhythm-chart rhythm-calendar\" viewBox=\"0 0 700 264\" role=\"img\" aria-label=\"Calendar of verified reset dates and banked reset updates across the current month and the month before it\"><text x=\"350\" y=\"22\" text-anchor=\"middle\" fill=\"#d6e2da\" font-size=\"11\" font-weight=\"700\">SEPTEMBER 2026 - OCTOBER 2026</text><g class=\"rhythm-calendar-month\" aria-label=\"September 2026\"><text x=\"53\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Sun</text><text x=\"92\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Mon</text><text x=\"131\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Tue</text><text x=\"170\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Wed</text><text x=\"209\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Thu</text><text x=\"248\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Fri</text><text x=\"287\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Sat</text><g class=\"rhythm-calendar-day\" data-date=\"2026-09-01\" aria-hidden=\"true\"><rect x=\"114\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"131\" y=\"90\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">1</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-02\" aria-hidden=\"true\"><rect x=\"153\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"170\" y=\"90\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">2</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-03\" aria-label=\"Sep 3: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 3: banked reset update · not a reset</title><rect x=\"192\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"209\" y=\"90\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">3</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-04\" aria-label=\"Sep 4: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 4: banked reset update · not a reset</title><rect x=\"231\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"248\" y=\"90\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">4</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-05\" aria-label=\"Sep 5: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 5: banked reset update · not a reset</title><rect x=\"270\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"287\" y=\"90\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">5</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-06\" aria-hidden=\"true\"><rect x=\"36\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"53\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">6</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-07\" aria-hidden=\"true\"><rect x=\"75\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"92\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">7</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-09-08\" aria-label=\"Sep 8: 8.0 days since the previous reset\"><title>Sep 8: 8.0 days since the previous reset</title><rect x=\"114\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"131\" y=\"122\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">8</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-09\" aria-label=\"Sep 9: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 9: banked reset update · not a reset</title><rect x=\"153\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"170\" y=\"122\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">9</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-10\" aria-hidden=\"true\"><rect x=\"192\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"209\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">10</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-11\" aria-hidden=\"true\"><rect x=\"231\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"248\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">11</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-09-12\" aria-label=\"Sep 12: 4.3 days since the previous reset\"><title>Sep 12: 4.3 days since the previous reset</title><rect x=\"270\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"287\" y=\"122\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">12</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-13\" aria-hidden=\"true\"><rect x=\"36\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"53\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">13</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-14\" aria-hidden=\"true\"><rect x=\"75\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"92\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">14</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-15\" aria-hidden=\"true\"><rect x=\"114\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"131\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">15</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-16\" aria-hidden=\"true\"><rect x=\"153\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"170\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">16</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-17\" aria-hidden=\"true\"><rect x=\"192\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"209\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">17</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-18\" aria-hidden=\"true\"><rect x=\"231\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"248\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">18</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-19\" aria-hidden=\"true\"><rect x=\"270\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"287\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">19</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-20\" aria-hidden=\"true\"><rect x=\"36\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"53\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">20</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-21\" aria-hidden=\"true\"><rect x=\"75\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"92\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">21</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-22\" aria-label=\"Sep 22: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 22: banked reset update · not a reset</title><rect x=\"114\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"131\" y=\"186\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">22</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-23\" aria-hidden=\"true\"><rect x=\"153\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"170\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">23</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-24\" aria-hidden=\"true\"><rect x=\"192\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"209\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">24</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-25\" aria-hidden=\"true\"><rect x=\"231\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"248\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">25</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-09-26\" aria-label=\"Sep 26: 14 days since the previous reset\"><title>Sep 26: 14 days since the previous reset</title><rect x=\"270\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"287\" y=\"186\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">26</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-27\" aria-hidden=\"true\"><rect x=\"36\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"53\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">27</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-28\" aria-hidden=\"true\"><rect x=\"75\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"92\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">28</text></g><g class=\"rhythm-calendar-day is-banked\" data-date=\"2026-09-29\" aria-label=\"Sep 29: banked reset update · not a reset\" data-banked-count=\"1\"><title>Sep 29: banked reset update · not a reset</title><rect x=\"114\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"></rect><text x=\"131\" y=\"218\" text-anchor=\"middle\" fill=\"#7fd1ff\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">29</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-09-30\" aria-hidden=\"true\"><rect x=\"153\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"170\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">30</text></g></g><g class=\"rhythm-calendar-month\" aria-label=\"October 2026\"><text x=\"413\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Sun</text><text x=\"452\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Mon</text><text x=\"491\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Tue</text><text x=\"530\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Wed</text><text x=\"569\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Thu</text><text x=\"608\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Fri</text><text x=\"647\" y=\"56\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"8.5\">Sat</text><g class=\"rhythm-calendar-day\" data-date=\"2026-10-01\" aria-hidden=\"true\"><rect x=\"552\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"569\" y=\"90\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">1</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-02\" aria-label=\"Oct 2: 6.1 days since the previous reset\"><title>Oct 2: 6.1 days since the previous reset</title><rect x=\"591\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"608\" y=\"90\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">2</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-03\" aria-hidden=\"true\"><rect x=\"630\" y=\"72\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"647\" y=\"90\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">3</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-04\" aria-hidden=\"true\"><rect x=\"396\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"413\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">4</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-05\" aria-hidden=\"true\"><rect x=\"435\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"452\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">5</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-06\" aria-hidden=\"true\"><rect x=\"474\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"491\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">6</text></g><g class=\"rhythm-calendar-day is-reset is-banked\" data-date=\"2026-10-07\" aria-label=\"Oct 7: 4.3 days since the previous reset · banked reset update\" data-banked-count=\"2\"><title>Oct 7: 4.3 days since the previous reset · banked reset update</title><rect x=\"513\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"530\" y=\"122\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">7</text><circle cx=\"541\" cy=\"110\" r=\"2.6\" fill=\"#7fd1ff\" stroke=\"#06100a\" stroke-width=\"1\"></circle></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-08\" aria-hidden=\"true\"><rect x=\"552\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"569\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">8</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-09\" aria-hidden=\"true\"><rect x=\"591\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"608\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">9</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-10\" aria-hidden=\"true\"><rect x=\"630\" y=\"104\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"647\" y=\"122\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">10</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-11\" aria-label=\"Oct 11: 4.0 days since the previous reset\"><title>Oct 11: 4.0 days since the previous reset</title><rect x=\"396\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"413\" y=\"154\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">11</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-12\" aria-hidden=\"true\"><rect x=\"435\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"452\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">12</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-13\" aria-label=\"Oct 13: 2.0 days since the previous reset\"><title>Oct 13: 2.0 days since the previous reset</title><rect x=\"474\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"491\" y=\"154\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">13</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-14\" aria-hidden=\"true\"><rect x=\"513\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"530\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">14</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-15\" aria-label=\"Oct 15: 2.0 days since the previous reset\"><title>Oct 15: 2.0 days since the previous reset</title><rect x=\"552\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"569\" y=\"154\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">15</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-16\" aria-hidden=\"true\"><rect x=\"591\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"608\" y=\"154\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">16</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-17\" aria-label=\"Oct 17: 2.6 days since the previous reset\"><title>Oct 17: 2.6 days since the previous reset</title><rect x=\"630\" y=\"136\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"647\" y=\"154\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">17</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-18\" aria-hidden=\"true\"><rect x=\"396\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"413\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">18</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-19\" aria-hidden=\"true\"><rect x=\"435\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"452\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">19</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-20\" aria-label=\"Oct 20: 2.4 days since the previous reset\"><title>Oct 20: 2.4 days since the previous reset</title><rect x=\"474\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"491\" y=\"186\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">20</text></g><g class=\"rhythm-calendar-day\" data-date=\"2026-10-21\" aria-hidden=\"true\"><rect x=\"513\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"530\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".56\" font-size=\"10.5\" font-weight=\"600\">21</text></g><g class=\"rhythm-calendar-day is-reset\" data-date=\"2026-10-22\" aria-label=\"Oct 22: 2.4 days since the previous reset\"><title>Oct 22: 2.4 days since the previous reset</title><rect x=\"552\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#41ff8b\" stroke=\"#41ff8b\"></rect><text x=\"569\" y=\"186\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">22</text></g><g class=\"rhythm-calendar-day is-reset is-latest\" data-date=\"2026-10-23\" aria-label=\"Oct 23: 1.0 days since the previous reset\"><title>Oct 23: 1.0 days since the previous reset</title><rect x=\"591\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#ffb454\" stroke=\"#ffb454\"></rect><text x=\"608\" y=\"186\" text-anchor=\"middle\" fill=\"#06100a\" opacity=\"1\" font-size=\"10.5\" font-weight=\"900\">23</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-24\" aria-hidden=\"true\"><rect x=\"630\" y=\"168\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"647\" y=\"186\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">24</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-25\" aria-hidden=\"true\"><rect x=\"396\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"413\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">25</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-26\" aria-hidden=\"true\"><rect x=\"435\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"452\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">26</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-27\" aria-hidden=\"true\"><rect x=\"474\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"491\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">27</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-28\" aria-hidden=\"true\"><rect x=\"513\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"530\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">28</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-29\" aria-hidden=\"true\"><rect x=\"552\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"569\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">29</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-30\" aria-hidden=\"true\"><rect x=\"591\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"608\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">30</text></g><g class=\"rhythm-calendar-day is-future\" data-date=\"2026-10-31\" aria-hidden=\"true\"><rect x=\"630\" y=\"200\" width=\"34\" height=\"27\" rx=\"4\" fill=\"#0e1512\" stroke=\"#1d2a24\"></rect><text x=\"647\" y=\"218\" text-anchor=\"middle\" fill=\"#d6e2da\" opacity=\".28\" font-size=\"10.5\" font-weight=\"600\">31</text></g></g></svg>","trend":"All-time median gap: 3.7 days · last 30 days: 2.5 days · tracked since Sep 2025"},"banked_rhythm":{"chart":"<div class=\"rhythm-surface\" id=\"banked-rhythm-surface\"><div class=\"rhythm-panel rhythm-panel-activity\"><div class=\"rhythm-panel-head\"><strong>Banked reset calendar</strong><span class=\"term-meta\">last 26 weeks</span></div><div class=\"rhythm-chart-wrap rhythm-heatmap-wrap\" tabindex=\"0\" role=\"region\" aria-label=\"Banked reset calendar: the days with a banked reset update over the last 26 weeks\"><svg id=\"live-banked-heatmap\" class=\"rhythm-chart rhythm-heatmap\" viewBox=\"0 0 570 184\" role=\"img\" aria-label=\"Banked reset calendar: the days with a banked reset update over the last 26 weeks\"><text class=\"rhythm-heatmap-month\" x=\"42\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Apr</text><text class=\"rhythm-heatmap-month\" x=\"137\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Jun</text><text class=\"rhythm-heatmap-month\" x=\"213\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Jul</text><text class=\"rhythm-heatmap-month\" x=\"289\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Aug</text><text class=\"rhythm-heatmap-month\" x=\"384\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Sep</text><text class=\"rhythm-heatmap-month\" x=\"460\" y=\"18\" fill=\"#91a39a\" font-size=\"10.5\">Oct</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"49\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Mon</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"87\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Wed</text><text class=\"rhythm-heatmap-weekday\" x=\"18\" y=\"125\" text-anchor=\"middle\" fill=\"#798c84\" font-size=\"10\">Fri</text><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-04-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"42\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"61\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"80\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"99\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-05-31\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"118\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"137\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"156\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"175\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"194\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-06-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"213\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-07-12\" aria-label=\"Jul 12: banked reset update\" data-banked-count=\"1\"><title>Jul 12: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"232\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-07-13\" aria-label=\"Jul 13: banked reset update\" data-banked-count=\"1\"><title>Jul 13: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"251\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"270\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-07-31\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"289\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"308\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"327\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-08-21\" aria-label=\"Aug 21: banked reset update\" data-banked-count=\"2\"><title>Aug 21: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-08-22\" aria-label=\"Aug 22: banked reset update\" data-banked-count=\"1\"><title>Aug 22: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"346\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-29\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"365\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-08-31\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-03\" aria-label=\"Sep 3: banked reset update\" data-banked-count=\"1\"><title>Sep 3: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-04\" aria-label=\"Sep 4: banked reset update\" data-banked-count=\"1\"><title>Sep 4: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-05\" aria-label=\"Sep 5: banked reset update\" data-banked-count=\"1\"><title>Sep 5: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"384\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-07\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-09\" aria-label=\"Sep 9: banked reset update\" data-banked-count=\"1\"><title>Sep 9: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"403\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"422\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-22\" aria-label=\"Sep 22: banked reset update\" data-banked-count=\"1\"><title>Sep 22: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-26\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-27\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"441\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-28\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-09-29\" aria-label=\"Sep 29: banked reset update\" data-banked-count=\"1\"><title>Sep 29: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-09-30\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-01\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-02\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-03\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-04\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"460\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-05\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-06\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-banked\" data-date=\"2026-10-07\" aria-label=\"Oct 7: banked reset update\" data-banked-count=\"2\"><title>Oct 7: banked reset update</title><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#7fd1ff\" stroke-dasharray=\"2 1.5\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-08\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-09\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-10\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-11\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"479\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-12\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-13\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-14\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-15\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-16\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-17\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-18\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"498\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-19\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"38\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-20\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"57\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-21\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"76\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-22\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"95\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day\" data-date=\"2026-10-23\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"114\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\"1\"></rect></g><g class=\"rhythm-heatmap-day is-future\" data-date=\"2026-10-24\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"133\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\".28\"></rect></g><g class=\"rhythm-heatmap-day is-future\" data-date=\"2026-10-25\" aria-hidden=\"true\"><rect class=\"rhythm-heatmap-cell\" x=\"517\" y=\"152\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#0e1512\" stroke=\"#1d2a24\" opacity=\".28\"></rect></g></svg></div><ul class=\"rhythm-legend\" aria-label=\"Calendar legend\"><li class=\"rhythm-legend-item\"><span class=\"rhythm-legend-swatch is-banked\" aria-hidden=\"true\"></span>banked reset update<span class=\"rhythm-legend-note\">· not a reset · never moves the clock</span></li></ul></div></div>"},"milestones":[{"id":"2041655710346572085","users_m":3,"announced_at":"2026-04-07T23:13:48Z","group":"reset","summary":"3M weekly Codex users milestone (up from 2M a month earlier); reset rate limits to celebrate.","url":"https://x.com/thsottiaux/status/2041655710346572085","gap_days":null,"delta_users":null},{"id":"2076735790567338203","users_m":7,"announced_at":"2026-07-13T18:29:31Z","group":"credits","summary":"7M active users milestone: added a banked reset to every account, appliable on demand from desktop/web.","url":"https://x.com/thsottiaux/status/2076735790567338203","gap_days":96.8,"delta_users":4},{"id":"2077114635308986427","users_m":8,"announced_at":"2026-07-14T19:34:54Z","group":"reset","summary":"8M active users across Codex and ChatGPT Work: reset for all, and still no 5h rate limit, to explore GPT-5.6 Sol.","url":"https://x.com/thsottiaux/status/2077114635308986427","gap_days":1,"delta_users":1},{"id":"2077607697487188198","users_m":9,"announced_at":"2026-07-16T04:14:09Z","group":"reset","summary":"9M active users: another reset, restoring 100% weekly usage limit.","url":"https://x.com/thsottiaux/status/2077607697487188198","gap_days":1.4,"delta_users":1},{"id":"2079609157934886975","users_m":10,"announced_at":"2026-07-21T16:47:15Z","group":"reset","summary":"10M users: new usage reset for paid Codex and ChatGPT Work users, landing within the hour.","url":"https://x.com/thsottiaux/status/2079609157934886975","gap_days":5.5,"delta_users":1},{"id":"2090766694897619318","users_m":20,"announced_at":"2026-08-21T11:43:19.000Z","group":"credits","summary":"20M active users milestone: announced one banked reset for every Codex and ChatGPT Work user, credited during the day for on-demand use.","url":"https://x.com/thsottiaux/status/2090766694897619318","gap_days":30.8,"delta_users":10},{"id":"2094252447271366730","users_m":25,"announced_at":"2026-08-31T02:34:27.000Z","group":"reset","summary":"25M active users: to celebrate, usage reset for every paid ChatGPT Work and Codex subscription — the reset promised for 6pm PT the previous day.","url":"https://x.com/thsottiaux/status/2094252447271366730","gap_days":9.6,"delta_users":5},{"id":"2107913674593644711","users_m":40,"announced_at":"2026-10-07T19:19:17.000Z","group":"credits","summary":"40M active users milestone: one banked reset loaded into every paid Codex and ChatGPT Work account on Day 3 of the 28-day series, alongside GPT-6 in Chat.","url":"https://x.com/thsottiaux/status/2107913674593644711","gap_days":37.7,"delta_users":15}],"milestone_watch":null,"stats":{"reset":58,"boost":0,"unlock":0,"credits":13,"other":0,"preview":0},"filters":{"group":"all","preview":null,"from":null,"to":null}}