body {
    grid-template-areas: "a a" "b c" "e e";
    grid-template-columns: var(--aside-width) auto;
}
body > main {
    padding: 1em;
    height: 100%;
    overflow: auto;
}
body form {
    padding: 1em;
}
header {
    padding: 0 1em;
}
aside {
    padding: 1em;
}
h2, h3 {
    margin-top: 0;
}
form {
    border: 1px solid var(--outline-color);
}
button {
    padding: 0.5em;
    border-radius: 0.25em;
    border: 1px solid var(--outline-color);
    color: #333;
}
button[type="submit"] {
    font-weight: bold;
    color: #000;
    border-color: #666;
}
button[class^="del"] {
    background-color: #f2e5e7;
    border-color: brown;
    color: brown;
}
fieldset {
    display: flex;
    flex-flow: column nowrap;
    gap: 0.75em;
    border-radius: 1em;
}
.params {
    display: flex;
    flex-flow: row wrap;
    gap: 1em;
    background-color: var(--item-bg-color);
    border-radius: 0.5em;
    padding: 1em;
}
.param {
    display: flex;
    flex-flow: column nowrap;
    gap: 0.25em;
}
input, select, textarea {
    font: inherit;
    flex: unset;
    width: 100%;
    padding: 0.25em;
}
.params button {
    flex: 0 0 5em;
    order: 1;
    align-self: end;
    height: 1.75rem;
}
textarea {
    font-family: 'Ubuntu Mono', 'Courier New', Courier, monospace;
    line-height: 1.6;
    max-height: calc(100vh - 8rem);
}
.param.text,
.param.select {
    flex: 1 0 calc(30% - 2em);
    order: 0;
    align-self: end;
} 
.param input,
.param select {
    height: 1.75rem;
} 
.param.textarea {
    flex: 0 0 calc(50% - 3.6em);
    order: 2;
    min-height: 1.75rem;
}

@media (max-width: 920px) {
    .param,
    .param.text,
    .param.select,
    .param.textarea
    {
        flex: 1 0 calc(100% - 2em);
        order: 0;
    }
}