.npc-list-container {
    width:100%;
    
    border:4px var(--theme-primary-1-base) solid;
    border-left-width:0px;
    border-right-width:0px;

    background-color: var(--theme-black);
    
    & .npc-entry {
        display: grid;
        grid-template-columns: min-content auto;
    
        color:var(--theme-white);
    
        height: fit-content;
    
        width: calc(100%-24px);
        background-color: var(--theme-black);
        border: 4px var(--theme-accent-2-base) solid;
        border-radius: 32px;
        padding-top: 16px;
        padding-bottom: 16px;
        padding-left: 8px;
        padding-right: 8px;
        margin-left: 8px;
        margin-right: 8px;
    
        & .npc-avatar {
            position: relative;
            max-height: 100%;
            height: 192px;
            width: 192px;
    
            background: radial-gradient(var(--theme-gray-base), var(--theme-gray-dark));
    
            box-shadow: 8px 8px 8px var(--theme-gray-dark);
            border: 3px outset var(--theme-white);
            border-radius: 32px;    
    
            padding: 0px;
            margin: 8px 8px 8px 8px;
    
            overflow: hidden;
            z-index: 1;
    
            & img {
                position: relative;
    
                height: 192px;
                width: 192px;
    
                margin: 0px;
                padding: 0px;
    
                z-index: 3;
            }
        }
    
        & .npc-info {
            display: grid;
            grid-template-rows: min-content auto;
            row-gap: 8px;
    
            & .npc-info {
                display: grid;
                grid-template-columns: max-content max-content max-content max-content max-content max-content auto;
                column-gap: 8px;
    
    
    
                & .info {
                    font-family: "BW";
                    border-radius: 16px;
                    border: 2px var(--theme-accent-2-base) solid;   
                    padding: 16px;    
                    height: fit-content;
    
                    & .info-header {
                        color: var(--theme-primary-2-darker);
                        font-size: 20px;
                        padding-bottom: 8px;
                    }
    
                    & .data {
                        font-size: 32px;
                        width: fit-content;
                    }  
    
                    & input {
                        font-family: "BW";
                        font-size: 24px;
                    }
                }
    
                & .edit-button {
                    font-family: "BW";
                    height: 100%;
                    width: fit-content;
                    border-radius: 16px;
                    border: 2px var(--theme-accent-2-base) solid;   
                    padding: 16px;    
                    margin: 0px;
                    text-align: center;
                    background: var(--theme-gray-dark);
                    background-color: var(--theme-gray-dark);
                    font-size: 32px;
    
                    &:hover {
                        background-color: var(--theme-gray-base);
                        cursor: pointer;
                    }
                }
            }
    
            & .npc-bio {
                width: calc(100%-16px);
                border: 2px var(--theme-accent-2-base) solid;
                border-radius: 16px;
                padding: 16px;    
    
                height: fit-content;
    
                & textarea {
                    width:100%;
                    height: 100%;

                    resize:none;
                    padding:0px;

                    font-family: "BW";
                    font-size: 24px;
                }
            }
        }
    }
    
    & .npc-list {
        position: relative;
    
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        height: calc(100vh - 228px);
        
    
        overflow-y: scroll;
        overflow-x: hidden;
    
        row-gap: 32px;
      
        align-items: top;
        
    }
    
    & input[type=button] {
        width: calc( 100% - 32px );
        margin-left: 16px;
        background: linear-gradient(var(--theme-gray-base), var(--theme-gray-dark));
        color: var(--theme-white);
        height: 32px;
        font-size: 18px;
    }
    
    & .new-entry {
        background-color: var(--theme-gray-dark);
        border: solid 4px var(--theme-gray-base);
        margin: 16px;
        margin-top: 0px;
        max-height: 0px;
        transition: max-height 0.5s;
        height: fit-content;
    
        overflow: hidden;
        
        & input[type=submit] {
            width: 100%;
            background: linear-gradient(var(--theme-gray-light), var(--theme-gray-base));
            color: var(--theme-white);
            height: 32px;
            font-size: 18px;
        }
    }
    
    & .npc-search {
        position: sticky;
        display: block;
        top: 0px;
        left: 0;
    
        width: calc(100%);
        height: 32px;
        min-height: 32px;
    
        background-color: var(--theme-gray-dark);
        border-color: var(--theme-accent-2-dark);
        border-width: 0px 0px 2px 0px;
    
        font-family: "BW";
        font-size: 24px;
        color: var(--theme-white);
    
        padding-left: 8px;
        padding-right: 8px;
    
        z-index: 5;
    
        &:focus {
          border-color: var(--theme-accent-2-base);
          outline-style: none;
        }
    }
    
    & .new-button {
        background-color: var(--theme-black);
        border: solid 4px var(--theme-accent-2-base);
        color: var(--theme-white);

        &:hover {
            background-color: var(--theme-gray-base);
            cursor: pointer;
        } 
    }
}
