body {
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-size: 12pt;
}

button {
    font-size: 12pt;
}

main {
    position: relative;
    flex: auto;
    padding: .2em;
    overflow: auto;
    caret-color: purple;
}

body.editor main {}

main:empty::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: 'Start typing...';
    opacity: 25%;
    font-style: italic;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

body.files main:empty::before {
    content: 'No files...'
}

nav {
    background-color: silver;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    flex-shrink: 0;
}

nav>span {
    display: flex;
    flex-direction: row;
    /* Default to flex when shown */
    display: none;
}

#notification {
    text-align: center;
    display: none;
    background-color: lightyellow;
    color: blue;
    text-decoration: underline;
}

#notification.show {
    display: block;
}

:root {
    --file-1: #e2e2e2;
    --file-2: #bdbdbd;
}

div.file {
    background-color: var(--file-2);
    background: linear-gradient(var(--file-1), var(--file-2));
    margin: .2em;
    padding: 1em;
    border-radius: .2em;
    cursor: pointer;
}

div.file:hover {
    background: linear-gradient(var(--file-2), var(--file-1), var(--file-2));
}