* { max-width: inherit; } input { width: 100%; box-sizing: border-box; padding: 0.75em; } body { max-width: 40em; } footer { margin: 1em auto; text-align: center; } footer > a { display: inline-block; } .action-wrap { margin: 0.5em auto; border-radius: 6px; overflow: hidden; transition: max-height 0.2s linear; box-shadow: 0px 0px 0.1em #777; } .form-elem { padding: 5px 0px; } .form-elem[error] > input { border-color: #e44; border-bottom: none; color: #e44; border-radius: 4px 4px 0px 0px; } .form-elem[error]::after { font-size: 0.7em; content: attr(error); display: block; color: #e44; border-radius: 0px 0px 4px 4px; border: 1px solid #e44; padding: 10px; } .scroll { margin: auto; max-height: 800px; overflow: auto; } /* Dropdown */ button.dropdown { width: 100%; display: block; padding: 0.5em; } button.dropdown { padding: 0; } button.dropdown > input[type=checkbox] { display: none; } button.dropdown > label { padding: 0.5em; display: block; cursor: pointer; } button.dropdown:has(input[type=checkbox]:checked) ~ .action { max-height: 50vh; padding: 20px; } .action { max-height: 0; padding: 0; transition: max-height 0.2s linear; } .action[result]::after { content: attr(result); display: block; padding-top: 1em; text-align: center; font-size: 0.75em; } .data-elem { display: block; margin: 10px 0px; padding: 10px; width: 100%; text-align: left; } .data-elem:hover { background-color: #a22; } @media screen and (max-width: 1000px) { body { max-width: 620px; } } @media screen and (max-width: 700px) { .data-elem { width: 100%; display: block; } form { padding: 10px; } } @media (prefers-color-scheme: light) { .data-elem:hover { background-color: #e77; } }