* {
    padding: 0;
    margin: 0;
    font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
    font-size: medium;
}

body {
    display: grid;
    height: 100vh;
    grid-template-rows: auto 1fr;
}


input,
textarea,
button,
select,
.button {
    border-width: 0;
    border-radius: 0.4rem;
    background-color: #a7a0b76a;
    padding: 2px;
    margin: 1px 1px 0px 0px;
    outline: none;
}

#pattern-description {
    resize: vertical;
    height: 5rem;
}

input.numeric {
    min-width: 2rem;
}

#parameters,
#browser-panel {
    background-color: #E8E8E8;
    height: auto;
    overflow-x: hidden;
}

#browser-panel {
    overflow-y: hidden;
    display: grid;
    grid-template-rows: auto 1fr;
}

#tree-browser {
    overflow-y: auto;
}

.parameters-table {
    display: grid;
    grid-template-columns: auto 1fr;
}

.component-location {
    display: grid;
    grid-template-columns: auto 1fr 1fr 1fr;
    gap: 0.3rem;
    margin-left: 1rem;
}

.component-location>span {
    text-align: right;
}

.browser-link > summary::before {
    content: "🌌 ";
}

.browser-link > summary {
    list-style: none;
}

.component-in-browser > summary::before {
    content: "⚙️ ";
}


.component-in-browser > summary {
    list-style: none;
}

#the-editor {
    display: grid;
    grid-template-columns: 2fr 4fr 20rem;
    width: 100vw;
    grid-template-rows: auto;
    overflow: hidden;
}

#pattern-size {
    display: grid;
    grid-template-columns: 1fr 1fr auto 1fr 1fr;
}

#pattern-array-count,
#pattern-array-gap {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
}

#top-bar {
    display: grid;
    grid-template-columns: auto auto auto 1fr;
    align-items: start;
    border-bottom-width: 1px;
    border-bottom-color: black;
    border-bottom-style: solid;
}

#top-bar>* {
    display: block;
    border-radius: 0;
    margin: 0;
    border-right: solid black 1px;
}

input[type=file] {
    display: none !important;
}

#parameters details>summary {
    background-color: #a7a0b76a;
    padding: 5px;
}

#parameters details[open]>summary {
    background-color: black;
    color: white;
}

#parameters details[open]>div {
    margin: 10px;
}

.selected-item>summary {
    font-weight: bold;
}

.selected-item {
    background-color: #000000 !important;
    margin-left: 1rem;
    color: white;
}

#pattern-count {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
}

#tree-browser .browserItemWithChildren {
    background-color: #a7a0b76a;
    transition-duration: 0.5s;
    transition-timing-function: ease-out;
    padding-left: 10px;
}

#tree-browser .browser-browserItemWithChildren:hover,
button:hover,
.button:hover {
    background-color: #8b849b6a;
}

#tree-browser .components {
    padding-left: 10px;
}

#tree-browser .browserItemWithChildren-item[open] {
    background-color: #8b849b6a;
}

#tree-browser .component-list>details>summary {
    list-style-type: disc;
}

#browser-tools {
    display: grid;
    padding: 0.1rem;
    grid-template-columns: 1fr 1fr;
}

#canvas-stretcher {
    display: grid;
    justify-items: center;
    align-items: center;
    overflow: hidden;
}

#tree-browser .root-pattern>summary::before {
    content: "⭐";
}

.param-warning-text {
    margin: 5px;
    padding: 5px;
    text-align: justify;
    border-radius: 0.4rem;
    background-color: #a7a0b76a;
}