.dark { --focus: #ff0000; --nonfocus: #000000; --node: #091d2a; --group: #092a17; --link: #331400; --text: #ffffff; --placeholder: rgba(255,255,255,0.2); --outline: #323434; --background: #000000; --input: rgba(255,255,255,0.2); } :root { --editor-width: 305px; } body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: 0; } .architype { box-sizing: border-box; width: 100%; height: 100%; background: var(--background); color: var(--text); font-family: 'Courier', monospace; font-size: 16px; display: grid; grid-template: [row1-start] "editor grid" 100% [row1-end] / var(--editor-width) auto; } .editor { list-style: none; margin: 0; padding: 0; outline: 1px solid var(--outline); height: 100%; width: 100%; overflow-y: scroll; } .editor:focus { outline: none; } .editor li { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; white-space: pre; padding: 1px; padding-left: 4px; border-left: 10px solid var(--nonfocus); outline: 1px solid var(--outline); cursor: default; } .editor li.node { background-color: var(--node); } .editor li.group { background-color: var(--group); } .editor li.link { background-color: var(--link); } .editor li:focus { border-left: 10px solid var(--focus) !important; } .editor li input { background-color: var(--input); border: none; padding: 2px; padding-top: 3px; padding-left: 3px; margin: 2px; margin-left: 5px; font-family: 'Courier', monospace; color: var(--text); width: 209px; } .editor li input::-webkit-input-placeholder { color: var(--placeholder); } .editor li input:focus { border: var(--focus); outline: none; } .editor .editor { margin: 3px; } .grid { width: calc(100% - 20px); height: calc(100% - 20px); display: grid; align-items: center; justify-items: center; align-content: center; justify-content: center; margin: 10px; } .gridNode { width: calc(100% - 24px); height: calc(100% - 24px); display: flex; align-items: center; justify-content: center; text-align: center; font-size: 20px; overflow-wrap: anywhere; border-radius: 10px; padding: 3px; border: 1px solid white; overflow: hidden; background: var(--background); z-index: 2; } .gridGroup { width: calc(100% - 10px); height: calc(100% - 30px); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; font-size: 20px; overflow-wrap: anywhere; border-radius: 10px; margin-top: 20px; padding: 5px; border: 1px dashed white; overflow: hidden; background: var(--background); z-index: 1; } .gridGroup:empty { height: calc(100% - 10px); margin-top: 0; } .gridLines { width: 100%; height: 100%; --line-color: white; }