aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--static/style.css337
1 files changed, 337 insertions, 0 deletions
diff --git a/static/style.css b/static/style.css
new file mode 100644
index 0000000..b37098e
--- /dev/null
+++ b/static/style.css
@@ -0,0 +1,337 @@
+/*
+ * TODO: Remove all uses of !important. These are obviously bad practice, but
+ * it's not always trivial to get the precedence right.
+ */
+
+:root {
+ --theme: #0062cc;
+ --theme-contrast: #ffffff;
+ --primary-fg: black;
+ --border: rgb(180, 180, 180);
+ --greyedout: rgb(180, 180, 180);
+ --boxbg: rgb(235, 235, 235);
+ --boxfg: #000000;
+ --rowbg-even: #ffffff;
+ --rowbg-odd: #fcfcfc;
+ --danger: #d32535;
+ --danger-contrast: #ffffff;
+ --anchor-underline-color: lightgray;
+}
+
+.greyedout {
+ color: var(--greyedout) !important;
+}
+
+html {
+ font-family: system-ui, sans-serif;
+ line-height: 1.2;
+ border-color: var(--theme);
+ color: var(--primary-fg);
+ background-color: white;
+}
+
+body {
+ margin: 0;
+ padding: 0;
+ min-height: 100vh;
+}
+
+main, body > section {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ margin: 1rem auto;
+ max-width: 60rem;
+}
+
+hr {
+ background-color: black;
+ border-width: 0;
+ height: 1px;
+}
+
+a {
+ color: var(--theme);
+ text-decoration: underline;
+ text-decoration-color: var(--anchor-underline-color);
+}
+
+#site-title {
+ text-decoration: none;
+}
+
+nav ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+}
+
+nav ul > li {
+ display: inline-block;
+}
+
+nav ul > li:not(:last-child)::after {
+ content:"\2000"
+}
+
+h2, h3, h4, h5, h6 {
+ margin-top: 1.2rem;
+}
+
+header {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ left: 0;
+ color: white;
+ background-color: var(--theme);
+ z-index: 1000;
+ width: 100%;
+}
+
+header a {
+ text-decoration: none;
+}
+
+footer {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+footer p {
+ margin-top: 0rem;
+ margin-bottom: 1ex;
+}
+
+.header-content {
+ padding-left: 1em;
+ padding-right: 1em;
+ max-width: 60rem;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 0 auto;
+}
+
+header img {
+ vertical-align: middle;
+ max-height: 40px;
+}
+
+header a {
+ color: white;
+}
+
+header h1 {
+ font-size: 25px;
+}
+
+table {
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+ border-collapse: collapse;
+ border: 2px solid var(--border);
+ font-size: 90%;
+}
+
+table.wide {
+ width: 100%;
+}
+
+th[scope~="row"] {
+ width: 6em;
+ text-align: right;
+}
+
+th[scope~="col"] {
+ /* text-align: left; */
+}
+
+td {
+ border: 1px solid;
+ text-align: left;
+ height: 1.25rem;
+ border: 1px solid var(--border);
+ padding: 3px 5px;
+}
+
+table.fat td {
+ padding: 6px 5px;
+}
+
+td.th-like, th {
+ background-color: var(--boxbg) !important;
+ border: 1px solid var(--border);
+ font-weight: bold;
+ padding: 3px 5px;
+}
+
+th.min, td.min {
+ width: 0;
+ min-width: fit-content;
+ white-space: nowrap;
+}
+
+tr:nth-child(even) td {
+ background-color: var(--rowbg-even);
+}
+
+tr:nth-child(odd) td {
+ background-color: var(--rowbg-odd);
+}
+
+.btn-primary, input[type=submit]:not(.btn-danger) {
+ background: var(--theme);
+ color: var(--theme-contrast);
+ border: var(--border) 1px solid;
+ font-weight: bold;
+}
+
+.btn-danger {
+ background: var(--danger);
+ color: var(--danger-contrast);
+ border: var(--border) 1px solid;
+ font-weight: bold;
+}
+
+.btn-normal, input[type=file]::file-selector-button {
+ background: var(--boxbg);
+ border: var(--border) 1px solid !important;
+ color: var(--boxfg);
+}
+
+.btn, input[type=submit], input[type=file]::file-selector-button {
+ display: inline-block;
+ /* width: 100%; */
+ width: auto;
+ min-width: fit-content;
+ border-radius: 0;
+ padding: .1rem .75rem;
+ font-size: 0.9rem;
+ transition: background .1s linear;
+ /* border: none; */
+ cursor: pointer;
+}
+
+a.btn {
+ text-decoration: none;
+}
+
+div.formgroup + div.formgroup {
+ margin-top: 1rem;
+}
+
+textarea {
+ box-sizing: border-box;
+ background-color: var(--boxbg);
+ resize: vertical;
+}
+textarea, input[type=text] {
+ font-family: sans-serif;
+ font-size: smaller;
+ background-color: var(--boxbg);
+ border: none;
+ padding: 0.3rem;
+ width: 100%;
+ box-sizing: border-box;
+}
+td.tdinput {
+ padding: 0rem !important;
+}
+td.tdinput textarea, td.tdinput input[type=text] {
+ background-color: transparent !important;
+}
+
+.multicols {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: none;
+ gap: 1rem;
+ @media(max-width: 40rem) {
+ flex-wrap: wrap;
+ gap: 0rem;
+ }
+ align-items: stretch;
+}
+
+.multicols div {
+ min-width: 15em;
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.flex-justify {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 0 auto;
+ border: none;
+}
+
+.button-row {
+ display: flex;
+ gap: 0.2rem;
+ justify-content: start;
+ align-items: center;
+ margin-right: 1rem;
+}
+
+pre {
+ background-color: rgb(240, 240, 240);
+ padding: 0.3rem;
+ overflow-x: scroll;
+}
+
+.flags, .filename {
+ font-family: monospace;
+}
+
+article.work-text {
+ max-width: 40em;
+ margin-right: auto;
+ white-space: pre-wrap;
+ margin-top: 1.5rem;
+ margin-bottom: 1.5rem;
+}
+
+form.dialogue {
+ background-color: var(--boxbg);
+ border: 2px solid var(--border);
+ font-size: 90%;
+ border-collapse: collapse;
+ padding: 0rem 0.5rem;
+ max-width: 20rem;
+}
+
+table#flashes {
+ margin-bottom: 0rem;
+}
+
+#main-actions {
+ margin-top: 1.5rem;
+}
+
+section {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+
+.inline {
+ display: inline-block;
+}
+
+.flex-children-top {
+ display: flex;
+ gap: 1rem;
+ align-items: top;
+}
+.flex-children-top > * {
+ vertical-align: top;
+ display: block;
+ flex: none;
+}
+
+.just-margin-top {
+ margin-top: 1rem;
+}