:root { --red: #e67e80; --red-bg: #4c3743; --orange: #e69875; --orange-bg: #493b40; --yellow: #dbbc7f; --yellow-bg: #45443c; --green: #a7c080; --green-bg: #3c4841; --aqua: #83c092; --aqua-bg: var(--green-bg); --blue: #7fbbb3; --blue-bg: #384b55; } .red { --highlight: var(--red-bg); --outline: var(--red); } .orange { --highlight: var(--orange-bg); --outline: var(--orange); } .yellow { --highlight: var(--yellow-bg); --outline: var(--yellow); } .green { --highlight: var(--green-bg); --outline: var(--green); } .aqua { --highlight: var(--aqua-bg); --outline: var(--aqua); } .blue { --highlight: var(--blue-bg); --outline: var(--blue); } html { background: var(--bg1) !important; color: var(--fg0); font-size: 1.5em; min-height: 100vh; } body { background: transparent; min-height: 100vh; margin: 1em; margin-top: 0; margin-bottom: 0; display: flex; } #content { width: min(40em, 100%); height: 100%; margin: auto; } #cards { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); grid-auto-rows: 1fr; } #cards::before { content: ''; width: 0; padding-bottom: 100%; grid-row: 1 / 1; grid-column: 1 / 1; } #cards > :first-child{ grid-row: 1 / 1; grid-column: 1 / 1; } #cards > a { color: inherit; text-decoration: none; display: flex; flex-direction: column; justify-content: center; align-items: center; background: linear-gradient(var(--bg2), var(--bg2), var(--highlight, var(--bg2))); font-size: 2em; outline: 1px solid var(--outline, var(--bg0)); border-radius: 2px; transition: 0.25s transform; user-select: none; } #cards > a > * { color: white; display: inline; height: 1em; } #cards > a:hover, #cards > a:focus { outline-width: 2px; outline-color: var(--outline); } #cards > a:focus { background: var(--highlight); transform: translateY(-0.25rem); } #cards > a:hover *, #cards > a:focus * { font-size: 1.0625em; }