:root {
    --cell: 0.75rem;
    --cell-gap: 0.2rem;
}

/* the strip is wider than the page */
html,
body {
    overflow-x: clip;
}

.intro {
    transform: rotate(5deg);
}

@media (max-width: 600px) {
    .intro {
        transform: rotate(2deg);
    }
}

.done .list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.done section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    transition: 0.4s;
    scroll-margin-top: 10rem;
}

.done .list.focused section:not(.lit) {
    opacity: 0.25;
}

.done .day {
    font-size: 0.9rem;
    color: greenyellow;
}

.done li {
    cursor: default;
}

.done li:hover {
    opacity: 1;
}

.strip {
    position: sticky;
    top: 0;
    z-index: 10;
    display: grid;
    grid-template-rows: repeat(7, var(--cell));
    grid-auto-flow: column;
    grid-auto-columns: var(--cell);
    gap: var(--cell-gap);
    max-width: 100vw;
    overflow-x: auto;
    scrollbar-width: none;
    margin-top: 0.5rem;
    padding: 0 0.3rem 0.3rem;
    filter: drop-shadow(0 0 0.4rem rgba(255, 255, 255, 0.35));
    mix-blend-mode: difference;
    cursor: grab;
    user-select: none;
}

.strip::-webkit-scrollbar {
    display: none;
}

.strip:active,
.strip.dragging,
.strip.dragging i {
    cursor: grabbing;
}

.strip i {
    background-color: rgba(255, 255, 255, 0.08);
    cursor: inherit;
    transition: transform 0.15s ease-out;
}

.strip i.future {
    background-color: rgba(255, 255, 255, 0.03);
}

.strip i.pad {
    visibility: hidden;
}

.strip i[data-count]:not([data-count="0"]) {
    background-color: rgba(255, 255, 255, var(--glow));
    box-shadow: 0 0 0.5rem rgba(255, 255, 255, var(--glow)), 0 0 1.2rem rgba(255, 255, 255, calc(var(--glow) * 0.6));
    cursor: pointer;
}

.strip-label {
    position: sticky;
    top: calc(7 * var(--cell) + 6 * var(--cell-gap) + 0.6rem);
    z-index: 10;
    height: 0;
    margin-top: -3rem;
    opacity: 0;
    font-size: 0.9rem;
    color: greenyellow;
    text-align: center;
    filter: blur(var(--blur-subtle));
    mix-blend-mode: luminosity;
    transition: 0.5s;
}

.strip-label.shown {
    height: 1.5rem;
    margin-top: -2.5rem;
    opacity: 1;
}
