.bar { container-type: inline-size; } .controls { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--s-2); } .side { display: flex; align-items: center; gap: var(--s-0-5); } .previous { justify-content: flex-end; } .control { display: flex; flex-direction: column; align-items: center; gap: var(--s-0-5); flex-shrink: 0; width: 3.5rem; padding: var(--s-1) 0; border: none; border-radius: var(--radius-field); background: transparent; color: var(--color-text); cursor: pointer; transition: background-color 0.15s; & svg { width: 1.25rem; height: 1.25rem; } &:hover:not(:disabled) { background-color: var(--color-bg-high); } &[aria-pressed="true"] { color: var(--color-fg-accent); } &:focus-visible { outline: var(--focus-ring); } &:disabled { opacity: 0.35; cursor: default; } } .caption { font-size: var(--font-2xs); font-weight: var(--weight-semi); color: var(--color-text-high); } .playColumn { display: flex; flex-direction: column; align-items: center; gap: var(--s-1); } .play { display: grid; place-items: center; width: 3rem; height: 3rem; border: none; border-radius: 50%; background: var(--color-fill-accent); color: var(--color-fg-on-accent); cursor: pointer; & svg { width: 1.5rem; height: 1.5rem; fill: currentColor; } &:focus-visible { outline: var(--focus-ring); outline-offset: 2px; } } .extras { display: flex; gap: var(--s-0-5); margin-inline-start: auto; padding-inline-start: var(--s-1); border-inline-start: var(--border-style); } .speed { min-width: max-content; } .speedValue { height: 1.25rem; font-size: var(--font-sm); font-weight: var(--weight-bold); line-height: 1.25rem; font-variant-numeric: tabular-nums; } .keycaps { display: flex; gap: 2px; } .keycap { min-width: 1.15rem; padding: 0 3px; border: var(--border-style); border-bottom-width: 2px; border-radius: 4px; font-family: inherit; font-size: var(--font-2xs); font-weight: var(--weight-semi); line-height: 1rem; color: var(--color-text-high); text-align: center; } @container (max-width: 780px) { .control { width: 2.75rem; } } @container (max-width: 620px) { .controls { gap: var(--s-1); } .control { width: 2.25rem; } .caption, .keycaps { display: none; } } @container (max-width: 520px) { .control { width: 2rem; } .control[data-step="GAME"], .mapToggle { display: none; } } @container (max-width: 350px) { .control[data-step="LIFE"] { display: none; } }