#app {
    display: flex;
    flex-direction: column;
}

.editor-mountpoint {
    flex-grow: 1;
    flex-shrink: 1;
    min-height: 0;
    overflow: hidden;
}

.status-bar {
    flex-shrink: 0;
    height: 2em;
    background-color: rgb(245, 245, 245);
    border-top: solid thin rgb(200, 200, 200);

    align-content: center;
    padding-inline: 8px;
}

.status-bar.deemphasized {
    opacity: 0.5;
}

.cm-editor {
    height: 100%;
    width: 100%;
    font-size: 1.1em;
}

dialog#prompt-dialog {
    width: 450px;
    max-width: 50%;

    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);

    padding: 0;

    /* Frosted glass effect */
    background: rgba(225, 225, 225, 0.38);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    /* Subtle grey border and rounded corners */
    border: 1px solid rgba(169, 169, 169, 0.3);
    border-radius: 12px;

    /* Add subtle shadow for depth */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

dialog#prompt-dialog .dialog-body {
    display: flex;
    flex-direction: column;
    padding: 10px;
}

dialog#prompt-dialog .prompt-label {
    font-size: 0.9em;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 6px;
}

dialog#prompt-dialog input {
    width: 100%;
    border: none;
    text-decoration: none;
    outline: none;
    font-size: 1.3em;
    background-color: transparent;
    font-weight: normal;
}

dialog#command-dialog {
    width: 450px;
    height: 400px;
    max-height: 80%;
    max-width: 50%;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    padding: 0;
    
    /* Frosted glass effect */
    background: rgba(225, 225, 225, 0.38);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    
    /* Subtle grey border and rounded corners */
    border: 1px solid rgba(169, 169, 169, 0.3);
    border-radius: 12px;
    
    /* Add subtle shadow for depth */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

dialog#command-dialog .dialog-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

dialog#command-dialog .command-input {
    padding: 10px;
}

dialog#command-dialog input {
    width: 100%;
    border: none;
    text-decoration: none;
    outline: none;
    font-size: 1.3em;
    background-color: transparent;
    font-weight: normal;
}

dialog::backdrop {
    background-color: transparent;
}

dialog#command-dialog select {
    flex-grow: 1;
    flex-shrink: 1;
    border: none;
    background-color: transparent;

    -webkit-appearance: none;
    appearance: none;
    font-size: 1.3em;
}

dialog#command-dialog option {
    background-color: transparent;
    line-height: 3.0em;
}

option .option-label {
    padding: 10px;
}

@media (prefers-color-scheme: dark) {
    .status-bar {
        background-color: rgb(40, 44, 52);
        border-top-color: rgb(70, 74, 82);
        color: rgb(220, 220, 220);
    }

    dialog#prompt-dialog,
    dialog#command-dialog {
        background: rgba(40, 44, 52, 0.55);
        border-color: rgba(120, 120, 120, 0.4);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
        color: rgb(220, 220, 220);
    }

    dialog#prompt-dialog .prompt-label {
        color: rgba(255, 255, 255, 0.65);
    }

    dialog#prompt-dialog input,
    dialog#command-dialog input,
    dialog#command-dialog select {
        color: rgb(230, 230, 230);
    }
}