2021-07-11 19:59:37 +00:00
|
|
|
html,
|
|
|
|
body {
|
2021-07-11 16:04:10 +00:00
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
font-family: "Calibri", "Arial", "Helvetica Neue", sans-serif;
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page {
|
|
|
|
display: grid;
|
|
|
|
column-gap: 8px;
|
|
|
|
padding: 8px;
|
|
|
|
box-sizing: border-box;
|
|
|
|
height: 100vh;
|
|
|
|
width: 100vw;
|
|
|
|
grid-template-columns: auto 20em;
|
|
|
|
grid-template-rows: 3em auto 3em;
|
|
|
|
grid-template-areas:
|
|
|
|
"header header"
|
|
|
|
"canvas sidebar"
|
|
|
|
"footer footer";
|
|
|
|
}
|
|
|
|
|
|
|
|
header {
|
|
|
|
grid-area: header;
|
|
|
|
display: flex;
|
|
|
|
}
|
|
|
|
|
|
|
|
header h1 {
|
|
|
|
margin: 0;
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.MSlogo {
|
2021-07-11 19:59:37 +00:00
|
|
|
height: 50px;
|
|
|
|
vertical-align: middle;
|
2021-07-11 16:04:10 +00:00
|
|
|
margin-bottom: 3px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sidebar {
|
|
|
|
grid-area: sidebar;
|
|
|
|
overflow-y: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
footer {
|
|
|
|
grid-area: footer;
|
|
|
|
}
|
|
|
|
|
2021-07-11 19:59:37 +00:00
|
|
|
select,
|
|
|
|
input[type="text"] {
|
2021-07-11 16:04:10 +00:00
|
|
|
padding: 8px;
|
|
|
|
}
|
|
|
|
|
Add a cluster editor (#230)
Currently it's possible to generate random clusters (formerly known as creatures), but unlike mandalas, there's no way to _edit_ one if you decide that there's something about it that you'd like to change. This means, for instance, that if a randomly-generated cluster looks nice but needs a hat, or if it has arms you don't like, or if you find something cool in the gallery but want to remix it a bit, you will be able to make those changes.
It also isn't currently possible to randomly generate a cluster with lots of complexity; the data structure to represent a cluster is defined recursively, however, so this editing UI--however horrible this initial version is--allows for the construction of clusters of arbitrary complexity.
Note that the UX for this is currently terrible, but we can improve on it in future PRs.
2021-10-04 19:09:02 +00:00
|
|
|
summary {
|
|
|
|
/**
|
|
|
|
* The default <summary> doesn't change the cursor, which makes it hard
|
|
|
|
* to tell that it's interactive on hover, so let's change that.
|
|
|
|
*/
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
2021-07-11 16:04:10 +00:00
|
|
|
/** Stupid class we're using instead of <p> to avoid ValidateDOMNesting warnings. */
|
|
|
|
.thingy {
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.thingy:first-child {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.navbar {
|
|
|
|
display: flex;
|
|
|
|
list-style-type: none;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
justify-content: flex-end;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.navbar li {
|
|
|
|
border-right: 1px solid gray;
|
|
|
|
margin-right: 8px;
|
|
|
|
padding-right: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.navbar li:last-child {
|
|
|
|
border-right: none;
|
|
|
|
padding-right: 0;
|
|
|
|
margin-right: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flex-widget {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flex-widget label {
|
|
|
|
margin-bottom: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.canvas {
|
|
|
|
grid-area: canvas;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
.canvas.scrollable {
|
|
|
|
display: block;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sidebar .disabled {
|
|
|
|
color: gray;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sidebar label.checkbox {
|
|
|
|
display: block;
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
}
|
2021-08-22 16:23:51 +00:00
|
|
|
|
|
|
|
.error {
|
|
|
|
color: red;
|
|
|
|
}
|
2021-09-23 20:04:25 +00:00
|
|
|
|
|
|
|
.page-error {
|
|
|
|
position: fixed;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
background-color: rgba(0, 0, 0, 0.75);
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-error div {
|
|
|
|
background: crimson;
|
|
|
|
color: white;
|
|
|
|
padding: 2em;
|
|
|
|
max-width: 50em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-error div p:first-child {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-error div p:last-child {
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-error div button {
|
|
|
|
display: block;
|
|
|
|
width: 66%;
|
|
|
|
margin: 3em auto 0 auto;
|
|
|
|
text-align: center;
|
|
|
|
}
|