Files
architype/architype.css
2019-07-16 06:25:29 +00:00

406 lines
6.8 KiB
CSS

.theme-light {
/* Background colors are 85% luminosity */
--focus: #ff0000;
--nonfocus: #eeeeee;
--node: #c0def2;
--group: #c0f2d5;
--link: #ffd1b3;
--label: #ffb3eb;
--tag: #fff2b3;
--help: #ffb3b3;
--text: #000000;
--placeholder: rgba(0,0,0,0.2);
--outline: #323434;
--editor-background: #ffffff;
--grid-background: #ffffff;
--group-background: rgba(255,255,255,0.5);
--node-background: #f8f8f8;
--link-label-background: rgba(240,240,240,0.9);
--input: rgba(0,0,0,0.1);
--input-focus: rgba(255,0,0,0.2);
--line: #000000;
--tag0: hsl(180, 100%, 75%);
--tag1: hsl( 0, 100%, 75%);
--tag2: hsl(120, 100%, 75%);
--tag3: hsl(300, 100%, 75%);
--tag4: hsl( 60, 100%, 75%);
--tag5: hsl(240, 100%, 75%);
}
.theme-dark {
/* Background colors are 10% luminosity */
--focus: #ff0000;
--nonfocus: #000000;
--node: #091d2a;
--group: #092a17;
--link: #331400;
--label: #330025;
--tag: #332b00;
--help: #330000;
--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);
--line: #ffffff;
--tag0: hsl(180, 100%, 25%);
--tag1: hsl( 0, 100%, 25%);
--tag2: hsl(120, 100%, 25%);
--tag3: hsl(300, 100%, 25%);
--tag4: hsl( 60, 100%, 25%);
--tag5: hsl(240, 100%, 25%);
}
: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 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: 26px;
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.group.highlight {
background: repeating-linear-gradient(
-45deg,
transparent 0 10px,
rgba(255,0,0,0.3) 10px 20px
), 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.label.highlight {
background: repeating-linear-gradient(
-45deg,
transparent 0 10px,
rgba(255,0,0,0.3) 10px 20px
), var(--label);
}
.editor li.tag {
background-color: var(--tag);
}
.editor li.tag.highlight {
background: repeating-linear-gradient(
-45deg,
transparent 0 10px,
rgba(255,0,0,0.3) 10px 20px
), var(--tag);
}
.editor li.help {
padding: 10px;
font-size: 16px;
flex-direction: column;
background-color: var(--help);
}
.editor li.help > div {
margin-top: 2px;
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 var(--text);
border-radius: 5px;
padding: 5px;
margin: 3px;
overflow: hidden;
}
.editor li.help .key:empty {
visibility: hidden;
}
.editor li.help .text {
margin: 5px;
}
.editor li.help a {
color: var(--text);
margin: 8px;
}
.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,
.gridTagLabel {
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: 81%;
height: 81%;
background: var(--node-background);
justify-content: center;
border: 1px solid var(--line);
border-radius: 10%;
padding: 2%;
z-index: 3;
}
.tag0 {
background: var(--tag0);
}
.tag1 {
background: var(--tag1);
}
.tag2 {
background: var(--tag2);
}
.tag3 {
background: var(--tag3);
}
.tag4 {
background: var(--tag4);
}
.tag5 {
background: var(--tag5);
}
.gridNode.highlight {
border-color: var(--focus);
border-width: 3px;
}
.gridGraphLabel {
height: 100%;
width: 100%;
font-size: 30px;
text-align: center;
}
.gridGraphLabel.highlight {
color: var(--focus);
}
.gridGroup {
width: 100%;
height: 100%;
background: var(--group-background);
justify-content: flex-start;
border: 1px dashed var(--line);
z-index: 1;
}
.gridGroup.highlight {
border-color: var(--focus);
border-width: 3px;
}
.gridGroupLabel {
max-width: 90%;
max-height: 90%;
justify-content: center;
font-size: 20px;
overflow: hidden;
overflow-wrap: anywhere;
z-index: 1;
}
.gridGroupLabel.highlight {
color: var(--focus);
}
.gridLines {
width: 100%;
height: 100%;
z-index: 2;
--line-color: var(--line);
}
.gridLines.highlight {
--line-color: var(--focus);
--line-width: 3;
}
.gridLinkLabel {
max-width: 80%;
max-height: 80%;
font-size: 16px;
background: var(--link-label-background);
z-index: 3;
border-radius: 4px;
padding: 3px;
}
.gridLinkLabel.highlight {
color: var(--focus);
}
.gridArrow {
width: 100%;
height: 100%;
z-index: 4;
pointer-events: none;
--arrow-color: var(--line);
}
.gridArrow.highlight {
--arrow-color: var(--focus);
}
.gridTagLabel {
max-width: 80%;
max-height: 80%;
font-size: 16px;
z-index: 3;
border-radius: 4px;
padding: 3px;
}
.gridTagLabel.highlight {
border: 3px solid var(--focus);
}