2019-09-29 23:06:41 +00:00
|
|
|
:root {
|
2019-09-30 18:18:29 +00:00
|
|
|
/*
|
|
|
|
* according to https://www.color-blindness.com/color-name-hue/
|
|
|
|
*
|
|
|
|
* amber
|
|
|
|
* chartreuse
|
|
|
|
* free-speech-green (lime)
|
|
|
|
* aqua
|
|
|
|
* blue
|
|
|
|
* electric-indigo
|
|
|
|
* hot-magenta
|
|
|
|
*/
|
2019-09-29 23:06:41 +00:00
|
|
|
--red: var(--base08);
|
|
|
|
--orange: var(--base09);
|
|
|
|
--yellow: var(--base0A);
|
|
|
|
--green: var(--base0B);
|
|
|
|
--cyan: var(--base0C);
|
|
|
|
--blue: var(--base0D);
|
|
|
|
--violet: var(--base0E);
|
2019-09-30 18:18:29 +00:00
|
|
|
--magenta: var(--base0F);
|
|
|
|
|
|
|
|
/* convenience */
|
2019-09-29 23:06:41 +00:00
|
|
|
--bg: var(--base00);
|
|
|
|
--bg-status: var(--base01);
|
|
|
|
--bg-selection: var(--base02);
|
|
|
|
--fg-alt: var(--base03);
|
|
|
|
--fg-status: var(--base04);
|
|
|
|
--fg: var(--base05);
|
|
|
|
--fg-light: var(--base06);
|
|
|
|
--bg-light: var(--base07);
|
2019-09-30 18:18:29 +00:00
|
|
|
|
|
|
|
/* size */
|
2019-09-29 23:06:41 +00:00
|
|
|
--thin-stroke: 1px;
|
|
|
|
--medium-stroke: 3px;
|
2019-09-30 18:18:29 +00:00
|
|
|
--fg-light-stroke: 6px;
|
2019-09-29 23:06:41 +00:00
|
|
|
--common-radius: var(--thin-stroke);
|
|
|
|
}
|
|
|
|
|
2019-09-30 21:45:34 +00:00
|
|
|
* {
|
|
|
|
scrollbar-color: var(--fg-status) var(--bg-status);
|
|
|
|
}
|
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
html {
|
|
|
|
display: flex;
|
2019-09-26 02:07:38 +00:00
|
|
|
font-family:
|
|
|
|
system-ui,
|
|
|
|
-apple-system,
|
|
|
|
BlinkMacSystemFont,
|
|
|
|
"Segoe UI",
|
|
|
|
"Roboto",
|
|
|
|
"Oxygen",
|
|
|
|
"Ubuntu",
|
|
|
|
"Cantarell",
|
|
|
|
"Fira Sans",
|
|
|
|
"Droid Sans",
|
|
|
|
"Helvetica Neue",
|
|
|
|
sans-serif;
|
2019-06-25 03:10:13 +00:00
|
|
|
justify-content: center;
|
2019-06-30 19:59:32 +00:00
|
|
|
font-size: 12pt;
|
2019-06-25 03:10:13 +00:00
|
|
|
line-height: 1.5;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* https://www.desmos.com/calculator/3elcf5cwhn */
|
|
|
|
h1 { font-size: 150%; }
|
|
|
|
h2 { font-size: 128%; }
|
|
|
|
h3 { font-size: 120%; }
|
|
|
|
h4 { font-size: 116%; }
|
|
|
|
h5 { font-size: 113%; }
|
|
|
|
h6 { font-size: 111%; }
|
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
h1,
|
|
|
|
h2,
|
|
|
|
h3,
|
|
|
|
h4,
|
|
|
|
h5,
|
|
|
|
h6 {
|
2019-06-25 03:10:13 +00:00
|
|
|
margin: 0.5em 0;
|
|
|
|
}
|
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
ul,
|
|
|
|
ol {
|
2019-09-26 02:05:41 +00:00
|
|
|
padding-left: 1.5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
a {
|
2019-09-26 02:07:38 +00:00
|
|
|
color: var(--blue);
|
2019-09-26 02:05:41 +00:00
|
|
|
}
|
|
|
|
|
2019-09-27 03:22:33 +00:00
|
|
|
button {
|
|
|
|
cursor: pointer;
|
2019-09-30 21:45:34 +00:00
|
|
|
background: var(--bg-status);
|
|
|
|
color: var(--fg-status);
|
|
|
|
border: 0;
|
|
|
|
padding: 0.5rem 1rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
select {
|
|
|
|
background: var(--bg);
|
|
|
|
color: var(--fg-status);
|
|
|
|
border: var(--thin-stroke) solid var(--bg-status);
|
2019-09-30 21:48:32 +00:00
|
|
|
padding: 0.5rem;
|
2019-09-30 21:45:34 +00:00
|
|
|
margin-right: 1rem;
|
|
|
|
-moz-appearance: none;
|
|
|
|
appearance: none;
|
2019-09-27 03:22:33 +00:00
|
|
|
}
|
|
|
|
|
2019-06-25 17:18:45 +00:00
|
|
|
pre {
|
2019-06-25 16:52:34 +00:00
|
|
|
overflow-x: auto;
|
2019-09-30 18:18:29 +00:00
|
|
|
background-color: var(--bg);
|
2019-09-24 21:51:15 +00:00
|
|
|
padding: 1rem;
|
|
|
|
font-size: 92%;
|
|
|
|
border-radius: var(--common-radius);
|
2019-09-30 18:18:29 +00:00
|
|
|
border: var(--thin-stroke) solid var(--bg-status);
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
|
|
|
|
2019-06-30 19:59:32 +00:00
|
|
|
.message.private {
|
2019-09-30 18:18:29 +00:00
|
|
|
background-color: var(--bg-status);
|
2019-06-30 19:59:32 +00:00
|
|
|
}
|
|
|
|
|
2019-08-07 14:47:21 +00:00
|
|
|
.message.reply {
|
|
|
|
margin-top: 0;
|
|
|
|
margin-bottom: -1px;
|
|
|
|
}
|
|
|
|
|
2019-06-29 19:06:45 +00:00
|
|
|
.message.thread-target {
|
2019-09-29 23:06:41 +00:00
|
|
|
border-color: var(--blue);
|
2019-09-30 21:45:34 +00:00
|
|
|
|
2019-09-30 19:39:24 +00:00
|
|
|
/* prevents other messages from overlapping */
|
|
|
|
margin-top: 1px;
|
|
|
|
margin-bottom: 0;
|
2019-06-29 19:06:45 +00:00
|
|
|
}
|
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
.message img,
|
|
|
|
.message video {
|
2019-06-25 03:10:13 +00:00
|
|
|
max-width: 100%;
|
2019-09-17 01:10:49 +00:00
|
|
|
max-height: 30em;
|
2019-09-30 18:18:29 +00:00
|
|
|
border: var(--thin-stroke) dotted var(--bg-status);
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
|
|
|
|
2019-09-30 15:43:24 +00:00
|
|
|
.message audio {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
2019-06-25 04:03:34 +00:00
|
|
|
.message > :first-child {
|
|
|
|
margin-top: 0;
|
|
|
|
padding-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.message > :last-child {
|
|
|
|
margin-bottom: 0;
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
.message code {
|
2019-09-26 02:05:41 +00:00
|
|
|
max-width: 100%;
|
|
|
|
overflow-wrap: break-word;
|
2019-09-26 22:11:44 +00:00
|
|
|
padding: 0.125em 0.25em;
|
|
|
|
margin: 0;
|
|
|
|
font-size: 85%;
|
2019-09-30 18:18:29 +00:00
|
|
|
background-color: var(--bg);
|
2019-09-26 22:11:44 +00:00
|
|
|
border-radius: var(--common-radius);
|
2019-09-30 18:18:29 +00:00
|
|
|
border: var(--thin-stroke) solid var(--bg-status);
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
|
|
|
|
2019-06-25 16:52:34 +00:00
|
|
|
.message pre code {
|
|
|
|
color: inherit;
|
2019-09-26 22:11:44 +00:00
|
|
|
padding: 0;
|
|
|
|
margin: 0;
|
|
|
|
font-size: 100%;
|
|
|
|
background-color: initial;
|
|
|
|
border: initial;
|
|
|
|
border-radius: initial;
|
2019-06-25 16:52:34 +00:00
|
|
|
}
|
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
@media screen {
|
|
|
|
html {
|
|
|
|
min-height: 100%;
|
2019-09-30 18:18:29 +00:00
|
|
|
color: var(--fg);
|
|
|
|
background-color: var(--bg);
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
2019-09-26 02:07:38 +00:00
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
body {
|
2019-06-29 21:19:25 +00:00
|
|
|
width: 100%;
|
2019-09-24 21:51:15 +00:00
|
|
|
max-width: 42rem;
|
2019-09-30 19:39:24 +00:00
|
|
|
margin: 1rem;
|
2019-09-25 19:35:45 +00:00
|
|
|
overflow: scroll;
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-09-26 02:05:41 +00:00
|
|
|
nav > ul > li > a {
|
2019-09-30 18:18:29 +00:00
|
|
|
color: var(--fg);
|
2019-09-26 02:05:41 +00:00
|
|
|
text-decoration: none;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
.message {
|
|
|
|
padding: 1.5rem;
|
2019-06-25 04:03:34 +00:00
|
|
|
margin: 1rem 0;
|
2019-06-30 19:59:32 +00:00
|
|
|
border-radius: var(--common-radius);
|
2019-09-30 18:18:29 +00:00
|
|
|
border: var(--thin-stroke) solid var(--bg-status);
|
2019-06-28 20:55:05 +00:00
|
|
|
word-wrap: break-word;
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
2019-06-28 20:55:05 +00:00
|
|
|
|
2019-07-03 03:52:49 +00:00
|
|
|
.message > header.metadata {
|
2019-06-25 03:10:13 +00:00
|
|
|
height: 1.5rem;
|
|
|
|
display: flex;
|
|
|
|
}
|
2019-07-03 03:52:49 +00:00
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
.message > header > a > .avatar {
|
|
|
|
width: 1.5rem;
|
|
|
|
height: 1.5rem;
|
2019-06-30 19:59:32 +00:00
|
|
|
border-radius: var(--common-radius);
|
|
|
|
margin-right: 0.5rem;
|
2019-06-25 03:10:13 +00:00
|
|
|
}
|
2019-09-26 02:05:41 +00:00
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
.message > footer > a,
|
|
|
|
.message > footer > form > button {
|
2019-09-30 18:18:29 +00:00
|
|
|
color: var(--fg);
|
2019-09-26 02:05:41 +00:00
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
.message > header > .text > .author {
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
2019-09-26 02:07:38 +00:00
|
|
|
|
2019-06-25 03:10:13 +00:00
|
|
|
.message > header > .text > .author > a {
|
2019-09-30 18:18:29 +00:00
|
|
|
color: var(--fg-light);
|
2019-06-25 03:10:13 +00:00
|
|
|
text-decoration: none;
|
|
|
|
}
|
2019-06-29 17:55:43 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* HACK: centered-footer
|
|
|
|
*
|
|
|
|
* When someone likes a message we want to submit the form and then redirect
|
|
|
|
* them back to the original page. Unfortunately when you link to anchor tags
|
|
|
|
* that scrolls the browser so that they're at the *top* of the page, not the
|
|
|
|
* center of the page. In our view we have an empty div with an appropriate
|
|
|
|
* anchor tag, so here we use CSS to center it on the screen.
|
|
|
|
*
|
|
|
|
* The code below creates padding-top that takes up 50% of the height of the
|
|
|
|
* viewport and then gets rid of it with negative margin. This has no effect
|
|
|
|
* on the display of the item, but means that when we link to the anchor tag
|
|
|
|
* it centers this empty element vertically on the screen.
|
|
|
|
*
|
|
|
|
* We also use `pointer-events: none` to ensure that this invisible div doesn't
|
|
|
|
* capture cursor events (clicks, drags, etc) on surrounding elements, because
|
|
|
|
* otherwise we could have a problem where someone clicks above the invisible
|
|
|
|
* div but the browser things they're clicking the gigantic amount of padding.
|
|
|
|
*/
|
|
|
|
.message > .centered-footer {
|
|
|
|
padding-top: 50vh;
|
|
|
|
margin-top: -50vh;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
|
2019-08-07 02:44:09 +00:00
|
|
|
.message > footer {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
}
|
|
|
|
|
2019-06-26 00:14:23 +00:00
|
|
|
.message > footer > * {
|
2019-06-25 04:03:34 +00:00
|
|
|
text-decoration: none;
|
2019-06-26 00:14:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.message > footer > form > button.liked {
|
2019-09-26 02:07:38 +00:00
|
|
|
color: var(--red);
|
2019-06-26 00:14:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.message > footer > form {
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
.message > footer > form > button {
|
2019-06-26 00:14:23 +00:00
|
|
|
display: inline-block;
|
|
|
|
border: 0;
|
|
|
|
background: transparent;
|
|
|
|
cursor: pointer;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
2019-06-26 01:04:43 +00:00
|
|
|
.message blockquote {
|
|
|
|
margin-left: 0;
|
2019-09-30 18:18:29 +00:00
|
|
|
border-left: var(--fg-light-stroke) solid var(--bg-status);
|
2019-06-30 19:59:32 +00:00
|
|
|
padding-left: 1rem;
|
2019-06-26 01:04:43 +00:00
|
|
|
}
|
|
|
|
|
2019-09-19 20:31:47 +00:00
|
|
|
nav > ul {
|
2019-06-25 17:35:43 +00:00
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
2019-09-30 19:39:24 +00:00
|
|
|
margin: 0;
|
2019-09-19 20:31:47 +00:00
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
nav > ul > li {
|
|
|
|
list-style: none;
|
2019-06-25 17:35:43 +00:00
|
|
|
}
|
|
|
|
|
2019-06-25 04:03:34 +00:00
|
|
|
.profile {
|
2019-06-25 17:35:43 +00:00
|
|
|
margin-top: 1.5rem;
|
2019-06-25 04:03:34 +00:00
|
|
|
display: flex;
|
2019-06-25 17:35:43 +00:00
|
|
|
margin-bottom: 1.5rem;
|
2019-06-25 04:03:34 +00:00
|
|
|
}
|
|
|
|
|
2019-09-26 02:07:38 +00:00
|
|
|
.profile > img,
|
|
|
|
.profile > h1 {
|
2019-06-25 04:03:34 +00:00
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.profile > img {
|
|
|
|
width: 4rem;
|
|
|
|
height: 4rem;
|
2019-06-30 19:59:32 +00:00
|
|
|
margin-right: 2rem;
|
|
|
|
border-radius: var(--common-radius);
|
2019-06-25 04:03:34 +00:00
|
|
|
}
|
|
|
|
|
2019-06-29 02:55:36 +00:00
|
|
|
progress {
|
|
|
|
display: block;
|
|
|
|
width: 100%;
|
|
|
|
}
|
2019-08-07 14:47:21 +00:00
|
|
|
|
2019-09-29 17:52:51 +00:00
|
|
|
progress::-moz-progress-bar,
|
|
|
|
progress::-webkit-progress-value,
|
|
|
|
progress {
|
|
|
|
background: var(--blue);
|
|
|
|
border-color: var(--blue);
|
|
|
|
}
|
|
|
|
|
2019-08-07 14:47:21 +00:00
|
|
|
textarea {
|
2019-09-30 18:18:29 +00:00
|
|
|
background-color: var(--bg);
|
2019-09-25 19:48:44 +00:00
|
|
|
box-sizing: border-box;
|
2019-08-07 14:47:21 +00:00
|
|
|
display: block;
|
2019-08-14 19:59:08 +00:00
|
|
|
font-size: 1rem;
|
2019-09-25 19:48:44 +00:00
|
|
|
padding: 1rem;
|
|
|
|
resize: vertical;
|
|
|
|
width: 100%;
|
2019-09-25 20:13:26 +00:00
|
|
|
margin: 1rem 0;
|
2019-09-26 16:57:03 +00:00
|
|
|
height: 6rem;
|
|
|
|
transition: 0.0625s all ease;
|
2019-09-30 18:18:29 +00:00
|
|
|
border: var(--thin-stroke) solid var(--bg-status);
|
2019-09-26 16:57:03 +00:00
|
|
|
border-radius: var(--common-radius);
|
2019-09-30 18:18:29 +00:00
|
|
|
color: var(--fg);
|
2019-08-07 14:47:21 +00:00
|
|
|
}
|
2019-08-13 20:53:11 +00:00
|
|
|
|
2019-09-27 17:37:24 +00:00
|
|
|
/*
|
|
|
|
* Make textaarea big when textarea siblings are active.
|
|
|
|
* Make textarea big when focus is in form.
|
|
|
|
*
|
|
|
|
* This ensures that trying to click the submit button doesn't change the form.
|
|
|
|
*/
|
|
|
|
*:active ~ textarea,
|
2019-09-26 16:57:03 +00:00
|
|
|
form:focus-within > textarea {
|
2019-09-26 02:05:41 +00:00
|
|
|
height: 12rem;
|
2019-09-30 18:18:29 +00:00
|
|
|
border-color: var(--blue);
|
2019-09-26 01:39:30 +00:00
|
|
|
}
|
|
|
|
|
2019-08-13 20:53:11 +00:00
|
|
|
/* content warning! */
|
|
|
|
summary {
|
2019-08-13 21:31:51 +00:00
|
|
|
padding: 1rem 0.5rem;
|
2019-08-15 02:07:40 +00:00
|
|
|
background-color: hsl(45, 100%, 83%);
|
2019-08-13 21:31:51 +00:00
|
|
|
margin: 1rem 0;
|
|
|
|
cursor: pointer;
|
2019-08-15 02:07:40 +00:00
|
|
|
color: hsl(45, 100%, 20%);
|
|
|
|
border: var(--thin-stroke) solid hsl(45, 100%, 66%);
|
2019-08-13 20:53:11 +00:00
|
|
|
}
|
2019-08-14 18:44:25 +00:00
|
|
|
|
|
|
|
.md-mention {
|
|
|
|
-moz-user-select: all;
|
|
|
|
-ms-user-select: all;
|
|
|
|
-webkit-user-select: all;
|
|
|
|
user-select: all;
|
2019-09-24 22:04:04 +00:00
|
|
|
background: none;
|
2019-09-27 18:53:43 +00:00
|
|
|
font-size: 50%;
|
2019-09-28 22:53:23 +00:00
|
|
|
text-align: center;
|
2019-08-14 18:44:25 +00:00
|
|
|
}
|