:root { --highlight: #ddd; --background: #222; --highlight-border: 1px solid var(--highlight); } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; color: var(--highlight); background-color: var(--background); accent-color: var(--highlight); } select:disabled { display: none; } .pkmn { margin: 0.25rem; padding: 0.25rem; display: grid; gap: 0.25rem; grid-template-columns: 64px 1fr 14ch; grid-template-rows: repeat(4, 1fr); grid-template-areas: "img name cls4" "img score cls3" "... total cls2" "... total cls1"; align-items: center; border: var(--highlight-border); } .pkmn > img { grid-area: img; justify-self: center; } .pkmn > .pkmn-name { grid-area: name; font-weight: 800; } .pkmn > .pkmn-total { border: var(--highlight-border); border-radius: 100vmax; grid-area: total; height: 100%; display: inline-flex; align-items: center; padding-inline-end: 1ch; } .pkmn > .pkmn-score { grid-area: score; padding-inline-start: 4ch; } .pkmn > .pkmn-cls { border: var(--highlight-border); border-radius: 100vmax; font-weight: 600; font-size: 0.75rem; padding: 0.125rem; padding-inline-end: 0.5ch; display: flex; justify-content: space-between; } .pkmn > :is(.pkmn-total, .pkmn-cls)::before { display: inline-block; content: ""; font-size: 80%; width: 1ch; margin-inline: 0.25ch; } .pkmn-total-selected > .pkmn-total::before, .pkmn-cls1-selected > .pkmn-cls1::before, .pkmn-cls2-selected > .pkmn-cls2::before, .pkmn-cls3-selected > .pkmn-cls3::before, .pkmn-cls4-selected > .pkmn-cls4::before { content: "▸"; } .pkmn > .pkmn-cls1 { grid-area: cls1; } .pkmn > .pkmn-cls2 { grid-area: cls2; } .pkmn > .pkmn-cls3 { grid-area: cls3; } .pkmn > .pkmn-cls4 { grid-area: cls4; } #color-results, #name-results { min-width: fit-content; max-width: 50vw; } .fn-part { display: inline-flex; width: 3ch; justify-content: center; align-items: flex-end; padding-block-end: 0.125rem; padding-inline: 0.375ch; margin-inline: 0.125ch; border: var(--highlight-border); border-radius: 100vmax; color: var(--background); background-color: var(--highlight); transition: opacity 250ms, color 250ms, background-color 250ms; cursor: pointer; user-select: none; } .fn-part--fixed { cursor: not-allowed; } /* pls hurry up mozilla .fn-part:not(:has(input:checked)), */ .fn-part--disabled { color: var(--highlight); background-color: var(--background); opacity: 50%; } .fn-part > input { display: none; } .fn-part sup { font-size: 0.75rem; align-self: flex-start; } .fn-minmax { min-width: 3.5ch; text-align: center; padding-inline-end: 0.25ch; cursor: pointer; user-select: none; } .fn-minmax--wide { min-width: 6.5ch; } .fn-group { display: flex; align-items: center; } .fn-bracket { font-weight: 300; font-size: 2rem; align-self: flex-start; padding-block-end: 0.125rem; } .fn-minmax-toggle { display: flex; flex-direction: column; padding-block-end: 0.25rem; position: relative; } .fn-minmax-toggle::before { content: ""; background-color: var(--highlight); border-radius: 100vmax; position: absolute; top: 5%; left: 0px; right: 0px; height: 45%; transition: top 250ms; z-index: -1; } input:checked + .fn-minmax-toggle::before { top: 50%; } .fn-minmax-toggle > span { opacity: 50%; transition: opacity 250ms, color 250ms; } input:not(:checked) + .fn-minmax-toggle > span:first-child { opacity: 100%; color: var(--background); } input:checked + .fn-minmax-toggle > span:last-child { opacity: 100%; color: var(--background); } #colorSelect { display: grid; grid-template-columns: repeat(2, minmax(min-content, 12ch)); grid-auto-rows: 1fr; gap: 0.25rem; justify-items: stretch; align-items: stretch; border: var(--highlight-border); padding: 0.125rem; width: fit-content; } #colorSelect label { display: inline-flex; justify-content: center; align-items: center; } #colorSelect input { box-sizing: border-box; width: 100%; padding: 0; margin: 0; text-align: center; }