.dark { --focus: #ff0000; --nonfocus: #000000; --node: #091d2a; --group: #092a17; --link: #331400; --label: #330025; --text: #ffffff; --placeholder: rgba(255,255,255,0.2); --outline: #323434; --editor-background: #000000; --grid-background: #202020; --group-background: rgba(0,0,0,0.5); --node-background: #000000; --link-label-background: rgba(0,0,0,0.8); --input: rgba(255,255,255,0.2); --input-focus: rgba(255,0,0,0.2); } :root { --editor-width: 280px; } body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: 0; } .architype { box-sizing: border-box; width: 100%; height: 100%; 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%; overflow-y: scroll; user-select: none; background: var(--editor-background); } .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); font-size: 30px; cursor: default; } .editor li.node { background-color: var(--node); } .editor li.node.highlight { background: repeating-linear-gradient( -45deg, transparent 0 10px, rgba(255,0,0,0.3) 10px 20px ), var(--node); } .editor li.group { background-color: var(--group); } .editor li.link { background-color: var(--link); } .editor li.link.highlight { background: repeating-linear-gradient( -45deg, transparent 0 10px, rgba(255,0,0,0.3) 10px 20px ), var(--link); } .editor li.label { background-color: var(--label); } .editor li.help { padding: 10px; font-size: 16px; flex-direction: column; } .editor li.help > div { min-height: 10px; } .editor li.help .key { display: inline-flex; width: 20px; height: 20px; justify-content: center; align-items: center; vertical-align: middle; font-size: 20px; border: 1px solid white; border-radius: 5px; padding: 5px; margin: 3px; overflow: hidden; } .editor li.help .key:empty { visibility: hidden; } .editor li.help .text { margin: 5px; } .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 { background-color: var(--input-focus); outline: none; } .editor .editor { margin: 3px; margin-left: 5px; } .grid { width: calc(100% - 20px); height: calc(100% - 20px); display: grid; background: var(--grid-background); align-items: center; justify-items: center; align-content: center; justify-content: center; padding: 10px; } .gridNode, .gridGraphLabel, .gridGroup, .gridGroupLabel, .gridLinkLabel { display: flex; flex-direction: column; align-items: center; text-align: center; font-size: 20px; overflow-wrap: anywhere; overflow: hidden; cursor: default; user-select: none; } .gridNode { width: 85%; height: 85%; background: var(--node-background); justify-content: center; border: 1px solid white; border-radius: 10%; z-index: 3; } .gridNode.highlight { border-color: var(--focus); border-width: 3px; } .gridGraphLabel { height: 100%; width: 100%; font-size: 30px; text-align: center; } .gridGroup { width: 100%; height: 100%; background: var(--group-background); justify-content: flex-start; border: 1px dashed white; z-index: 1; } .gridGroupLabel { width: calc(100% - 10px); height: calc(100% - 10px); justify-content: center; font-size: 20px; overflow: hidden; overflow-wrap: anywhere; z-index: 1; } .gridLines { width: 100%; height: 100%; z-index: 2; --line-color: white; } .gridLines.highlight { --line-color: var(--focus); } .gridLinkLabel { max-width: 80%; max-height: 80%; font-size: 16px; background: var(--link-label-background); z-index: 3; border-radius: 4px; padding: 3px; } .gridArrow { width: 100%; height: 100%; z-index: 4; --arrow-color: white; } .gridArrow.highlight { --arrow-color: var(--focus); }