.writing-heatmap{position:relative;width:100%;max-width:44rem;margin-top:1rem;padding:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dark .writing-heatmap{border-color:rgba(255,255,255,.1);background:rgba(31,41,55,.4)}.writing-heatmap [hidden]{display:none!important}.writing-heatmap button:focus-visible,.heatmap-stage:focus-visible{outline:2px solid rgba(var(--color-primary-600),.9);outline-offset:3px}.heatmap-year-tabs{display:flex;min-width:0;gap:.2rem;justify-content:center;overflow-x:auto;padding:0;scrollbar-width:none}.heatmap-year-tabs::-webkit-scrollbar{display:none}.heatmap-year-tabs button{position:relative;min-width:2.75rem;min-height:2.75rem;padding:.45rem .35rem;border:0;border-radius:6px;background:0 0;color:rgba(var(--color-neutral-800),1);cursor:pointer;font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}.dark .heatmap-year-tabs button{color:rgba(var(--color-neutral-300),1)}.heatmap-year-tabs button:hover:not([aria-selected=true]){background:rgba(255,255,255,.28)}.dark .heatmap-year-tabs button:hover:not([aria-selected=true]){background:rgba(var(--color-neutral-900),.32)}.heatmap-year-tabs button[aria-selected=true]{color:rgba(var(--color-neutral-900),1)}.dark .heatmap-year-tabs button[aria-selected=true]{color:rgba(var(--color-neutral-300),1)}.heatmap-year-tabs button[aria-selected=true]::after{position:absolute;right:.5rem;bottom:.35rem;left:.5rem;height:2px;border-radius:999px;background:#30a14e;content:""}.dark .heatmap-year-tabs button[aria-selected=true]::after{background:#39d353}.heatmap-year-tabs button:active{transform:translateY(1px)}.heatmap-stage{position:relative;min-height:8.25rem;margin-top:0;touch-action:pan-y}.heatmap-desktop-view{width:max-content;max-width:100%;margin:0 auto}.heatmap-month-row,.heatmap-calendar-row{display:grid;grid-template-columns:1.75rem auto;gap:.7rem}.heatmap-months,.heatmap-grid{--heatmap-cell-size:clamp(8px, 1vw, 10px);--heatmap-cell-gap:2px;display:grid;grid-template-columns:repeat(var(--heatmap-columns),var(--heatmap-cell-size));column-gap:var(--heatmap-cell-gap)}.heatmap-months{min-height:1.35rem;color:rgba(var(--color-neutral-800),1);font-size:.75rem;font-weight:500;line-height:1}.dark .heatmap-months{color:rgba(var(--color-neutral-300),1)}.heatmap-months span{grid-row:1;overflow:hidden;white-space:nowrap}.heatmap-grid{grid-template-rows:repeat(7,var(--heatmap-cell-size));grid-auto-flow:column;row-gap:var(--heatmap-cell-gap)}.heatmap-weekdays{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell-size));gap:var(--heatmap-cell-gap);align-items:center;color:rgba(var(--color-neutral-800),1);font-size:.75rem;font-weight:500;line-height:1;text-align:right}.dark .heatmap-weekdays{color:rgba(var(--color-neutral-300),1)}.heatmap-day{display:block;width:var(--heatmap-cell-size,11px);height:var(--heatmap-cell-size,11px);margin:0;padding:0;border:0;border-radius:2px;background:#ebedf0;box-shadow:inset 0 0 0 1px rgba(var(--color-neutral-500),.08)}button.heatmap-day{position:relative;cursor:pointer;transition:box-shadow 150ms ease,transform 150ms ease}button.heatmap-day:hover,button.heatmap-day:focus-visible{z-index:2;outline:none;transform:scale(1.28);box-shadow:0 0 0 2px rgba(var(--color-neutral-50),1),0 0 0 3px rgba(var(--color-primary-700),.9)}.dark button.heatmap-day:hover,.dark button.heatmap-day:focus-visible{box-shadow:0 0 0 2px rgba(var(--color-neutral-800),1),0 0 0 3px rgba(var(--color-primary-400),.9)}.heatmap-level-0{background:#ebedf0}.heatmap-level-1{background:#9be9a8}.heatmap-level-2{background:#40c463}.heatmap-level-3{background:#30a14e}.heatmap-level-4{background:#216e39}.dark .heatmap-level-0{background:#161b22}.dark .heatmap-level-1{background:#0e4429}.dark .heatmap-level-2{background:#006d32}.dark .heatmap-level-3{background:#26a641}.dark .heatmap-level-4{background:#39d353}.heatmap-day-outside{visibility:hidden}.heatmap-day-future{background:#ebedf0;box-shadow:inset 0 0 0 1px rgba(var(--color-neutral-500),.08);opacity:.45}.dark .heatmap-day-future{background:#161b22;box-shadow:none}.heatmap-loading{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.65rem;min-height:8rem;align-items:end}.heatmap-loading span{height:calc(2.25rem + var(--loading-height,0rem));border-radius:8px;background:rgba(var(--color-neutral-200),.7)}.dark .heatmap-loading span{background:rgba(var(--color-neutral-700),.7)}.heatmap-loading span:nth-child(2n){--loading-height:2rem}.heatmap-loading span:nth-child(3n){--loading-height:3.5rem}.heatmap-empty{margin:1rem 0 0;padding:2rem;border:1px dashed rgba(var(--color-neutral-400),.75);border-radius:10px;background:rgba(var(--color-neutral-100),.62);color:rgba(var(--color-neutral-500),1);text-align:center}.dark .heatmap-empty{background:rgba(var(--color-neutral-800),.7);color:rgba(var(--color-neutral-400),1)}.heatmap-footer{display:grid;grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);gap:.5rem;align-items:center;margin-top:.55rem}.heatmap-year-tabs{grid-column:2;justify-self:center}.heatmap-legend{grid-column:3;display:flex;gap:.6rem;align-items:center;justify-self:end;margin:0;color:rgba(var(--color-neutral-800),1);font-size:.75rem;font-weight:500;white-space:nowrap}.dark .heatmap-legend{color:rgba(var(--color-neutral-300),1)}.heatmap-legend>div{display:flex;gap:3px}.heatmap-legend .heatmap-day{--heatmap-cell-size:10px}.heatmap-tooltip,.heatmap-article-menu{position:fixed;z-index:200;border:1px solid rgba(var(--color-neutral-400),.28);border-radius:9px;background:#1c2326;color:#eff4f6;box-shadow:0 16px 42px rgba(var(--color-neutral-900),.34)}.heatmap-tooltip{display:grid;width:20rem;max-width:calc(100vw - 1rem);gap:.22rem;padding:.8rem .9rem;pointer-events:none}.heatmap-tooltip strong{font-size:.78rem;font-weight:720}.heatmap-tooltip span{overflow:hidden;color:#ccd8de;font-size:.72rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.heatmap-tooltip small{margin-top:.2rem;color:#9db4c0;font-size:.64rem}.heatmap-article-menu{width:21rem;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);overflow-y:auto;padding:.4rem}.heatmap-article-menu a{display:block;padding:.68rem .75rem;border-radius:7px;color:#e2e8eb;font-size:.78rem;font-weight:560;line-height:1.45;text-decoration:none}.heatmap-article-menu a:hover,.heatmap-article-menu a:focus-visible{outline:none;background:#324c57;color:#eff4f6}@media(prefers-reduced-motion:no-preference){.heatmap-loading span{animation:heatmap-loading-pulse 1.4s ease-in-out infinite alternate}.heatmap-loading span:nth-child(2n){animation-delay:120ms}.heatmap-loading span:nth-child(3n){animation-delay:240ms}.heatmap-stage.is-changing-forward .heatmap-desktop-view{animation:heatmap-enter-forward 220ms ease-out}.heatmap-stage.is-changing-backward .heatmap-desktop-view{animation:heatmap-enter-backward 220ms ease-out}}@keyframes heatmap-loading-pulse{from{opacity:.45}to{opacity:1}}@keyframes heatmap-enter-forward{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes heatmap-enter-backward{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@media(max-width:820px){.writing-heatmap{padding:.75rem}.heatmap-year-tabs button{min-width:2.75rem;padding-inline:.3rem}.heatmap-stage{min-height:7rem}.heatmap-desktop-view{display:block;width:100%;max-width:30rem}.heatmap-month-row,.heatmap-calendar-row{grid-template-columns:1.2rem auto;gap:.35rem}.heatmap-months,.heatmap-grid{--heatmap-cell-gap:1px;width:100%;grid-template-columns:repeat(var(--heatmap-columns),minmax(0,1fr))}.heatmap-months{min-height:1rem;font-size:.5rem}.heatmap-weekdays{grid-template-rows:repeat(7,minmax(0,1fr));font-size:.48rem}.heatmap-grid{grid-template-rows:repeat(7,minmax(0,1fr));aspect-ratio:53/7}.heatmap-day{width:100%;height:100%}.heatmap-footer{grid-template-columns:1fr;justify-items:center;gap:.35rem}.heatmap-year-tabs,.heatmap-legend{grid-column:1;justify-self:center}.heatmap-year-tabs{width:100%}.heatmap-legend{gap:.35rem;font-size:.62rem}}@media(max-width:359px){.writing-heatmap{padding-inline:.55rem}.heatmap-month-row,.heatmap-calendar-row{grid-template-columns:1rem auto;gap:.25rem}}@media(prefers-reduced-transparency:reduce){.writing-heatmap{background:rgba(255,255,255,.86);-webkit-backdrop-filter:none;backdrop-filter:none}.dark .writing-heatmap{background:rgba(31,41,55,.88)}}@media(prefers-reduced-motion:reduce){.writing-heatmap *,.heatmap-tooltip,.heatmap-article-menu{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}