.heatmap-grid{grid-template-columns:2.25rem repeat(18,minmax(0,1fr));align-items:center;gap:3px;display:grid}.heatmap-hour,.heatmap-day{color:var(--muted);font-size:.72rem;line-height:1}.heatmap-hour{padding-bottom:.45rem}.heatmap-cell{aspect-ratio:1;animation:heat-in .7s var(--ease) both;animation-delay:var(--d,0s);background:#ffffff09;border-radius:3px;position:relative}.heatmap-cell.level-1{background:color-mix(in srgb, var(--violet) 22%, transparent)}.heatmap-cell.level-2{background:color-mix(in srgb, var(--violet) 45%, transparent)}.heatmap-cell.level-3{background:color-mix(in srgb, var(--teal) 60%, var(--violet));box-shadow:0 0 10px -3px color-mix(in srgb, var(--teal) 70%, transparent)}.heatmap-cell.level-4{background:var(--teal);box-shadow:0 0 14px -2px color-mix(in srgb, var(--teal) 85%, transparent)}.heatmap-cell:hover{outline-offset:1px;outline:1px solid #ffffffb3}.heatmap-cell:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.heatmap-caption{min-height:1.5em;color:var(--muted);margin:1rem 0 0;font-size:.85rem}@keyframes heat-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (max-width:520px){.heatmap-grid{grid-template-columns:1.9rem repeat(18,minmax(0,1fr));gap:2px}}
