.prompt-builder-dialog {
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

prompt-builder {
    width: 100%;
    max-height: 60rem;
    max-width: 50rem;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: stretch;
    overflow: hidden;

    padding: 1rem;
    gap: 1rem;
    border: 1px solid rgba(var(--primary-rgb), .5);
    background: rgba(0, 0, 0, .75);
    border-radius: .25rem;
    position: relative;
    backdrop-filter: blur(1rem);
    box-shadow: 0px .25rem 1rem 0 rgb(0 0 0 / 50%), inset 0 0 2rem 0 rgba(var(--primary-rgb), calc(var(--glow-intensity) / 3));
}

prompt-builder .close-prompt-builder {
    position: fixed;
    width: 3rem;
    height: 3rem;
    top: .25rem;
    right: .25rem;
    background: rgba(0, 0, 0, .75);
    border-radius: 50%;
    padding: .75rem;
    cursor: pointer;
    overflow: hidden;
}
prompt-builder .close-prompt-builder svg {
    width: 100%;
    height: 100%;
    stroke: var(--primary-color);
    filter: drop-shadow(.25rem 0 .35rem rgba(var(--primary-rgb), var(--glow-intensity)));
}

prompt-builder span {
    color: var(--secondary-color);
    text-shadow: 0 .5rem 1.5rem rgba(var(--secondary-rgb), var(--glow-intensity));
    font-size: 1rem;
}

prompt-builder .tag-categories {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    overflow: hidden;
    overflow-y: auto;
    border-top: 1px solid rgba(var(--primary-rgb), .25);
    border-bottom: 1px solid rgba(var(--primary-rgb), .25);
    gap: 1rem;
    padding: 1rem;
}

prompt-builder .tag-categories .tag-category {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    overflow: hidden;
    gap: .5rem;
}

prompt-builder .tag-categories .tag-category span {
    color: var(--secondary-color);
    text-shadow: 0 .5rem 1.5rem rgba(var(--secondary-rgb), var(--glow-intensity));
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
}

prompt-builder .tag-categories .tag-category .tags {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    gap: .5rem;
}

prompt-builder .tag-categories .tag-category .tags .tag {
    border: 1px solid var(--primary-color);
    background: #000000;
    border-radius: .25rem;
    padding: .25rem .5rem;
    cursor: pointer;
    outline: none;
    color: var(--primary-color);
    text-decoration: none;
    cursor: pointer;
    font-weight: 800;
    text-shadow: 0 .5rem 1.5rem rgba(var(--primary-rgb), var(--glow-intensity));
}

prompt-builder .tag-categories .tag-category .tags .tag:hover, prompt-builder .tag-categories .tag-category .tags .tag.selected {
    color: var(--input-color);
    border: 1px solid var(--input-color);
}

prompt-builder .buttons {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 1rem;
    margin-top: auto;
    /* border-top: 1px solid rgba(var(--primary-rgb), .25);
    padding-top: 1rem; */
}

/* --- Base Prompt Builder Button Styles --- */
.prompt-builder-button-cancel {
    border: none;
    background: rgba(0, 0, 0, 0);
    outline: none;
    cursor: pointer;
    font-weight: 400;
    color: var(--secondary-color);
    text-transform: uppercase;
    text-shadow: 0 .5rem 1.5rem rgba(var(--secondary-rgb), calc(var(--glow-intensity) / 5));
}

.prompt-builder-button-ok {
    background: rgba(0, 0, 0, 0);
    outline: none;
    cursor: pointer;
    font-weight: 800;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: .25rem;
    text-shadow: 0 .5rem 1.5rem rgba(var(--primary-rgb), calc(var(--glow-intensity) / 5));
    box-shadow: 0 .5rem 1.5rem rgba(var(--primary-rgb), calc(var(--glow-intensity) / 5));
    padding: .25rem .75rem;
    text-transform: uppercase;
    font-size: 1rem;
}
/* --- End Base Prompt Builder Button Styles --- */


prompt-builder .buttons button.cancel {
    /* Apply base style */
    composes: prompt-builder-button-cancel; /* Note: 'composes' is illustrative */
    border: none;
    background: rgba(0, 0, 0, 0);
    outline: none;
    cursor: pointer;
    font-weight: 400;
    color: var(--secondary-color);
    text-transform: uppercase;
    text-shadow: 0 .5rem 1.5rem rgba(var(--secondary-rgb), calc(var(--glow-intensity) / 5));
}
prompt-builder .buttons button.ok {
     /* Apply base style */
    composes: prompt-builder-button-ok; /* Note: 'composes' is illustrative */
    background: rgba(0, 0, 0, 0);
    outline: none;
    cursor: pointer;
    font-weight: 800;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: .25rem;
    text-shadow: 0 .5rem 1.5rem rgba(var(--primary-rgb), calc(var(--glow-intensity) / 5));
    box-shadow: 0 .5rem 1.5rem rgba(var(--primary-rgb), calc(var(--glow-intensity) / 5));
    padding: .25rem .75rem;
    text-transform: uppercase;
    font-size: 1rem;
}

/*********** MEDIA QUERIES START HERE ***********/
@media only screen and (max-width: 720px) {
    .prompt-builder-dialog {
        padding: .5rem;
    }
    prompt-builder {
        padding: .5rem;
        gap: .5rem;
    }

    prompt-builder .tag-categories {
        gap: .5rem;
        padding: .5rem;
    }
}
/*********** MEDIA QUERIES END HERE ***********/
