/* ── Global ──────────────────────────────────────────────────────── */
body {
    background-color: #daedf7;
    min-height: 100vh;
}

/* ── Controls card tweaks ─────────────────────────────────────────── */
#btn-step  { min-width: 80px; }
#btn-auto  { min-width: 96px; }
#btn-reset { min-width: 80px; }
/* ── Canvas scroll wrapper ───────────────────────────────────────── */
/*
 * Allows the p5.js canvas to scroll horizontally when it is wider
 * than the viewport (e.g. many ducks), while keeping the page clean.
 */
.canvas-scroll-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
}

/* Make the injected <canvas> a block element so it doesn't cause an
 * extra gap at the bottom of the wrapper div.                        */
.canvas-scroll-wrapper canvas {
    display: block;
}

/* ── Step / timer value formatting ───────────────────────────────── */
/*
 * white-space: pre  — preserves the leading spaces padStart inserts.
 * font-variant-numeric: tabular-nums — all digits occupy the same
 *   advance width, so the layout never shifts as values change.
 */
#step-value,
#timer-value {
    white-space: pre;
    font-variant-numeric: tabular-nums;
}
