initial commit

This commit is contained in:
2025-05-24 13:23:02 +02:00
commit 1424ec981c
83 changed files with 4718 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
style/fonts/Inter-Bold.woff Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

184
style/fonts/inter.css Normal file
View File

@ -0,0 +1,184 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 100;
src: url("Inter-Thin.woff2") format("woff2"),
url("Inter-Thin.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 100;
src: url("Inter-ThinItalic.woff2") format("woff2"),
url("Inter-ThinItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 200;
src: url("Inter-ExtraLight.woff2") format("woff2"),
url("Inter-ExtraLight.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 200;
src: url("Inter-ExtraLightItalic.woff2") format("woff2"),
url("Inter-ExtraLightItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 300;
src: url("Inter-Light.woff2") format("woff2"),
url("Inter-Light.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 300;
src: url("Inter-LightItalic.woff2") format("woff2"),
url("Inter-LightItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
src: url("Inter-Regular.woff2") format("woff2"),
url("Inter-Regular.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
src: url("Inter-Italic.woff2") format("woff2"),
url("Inter-Italic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
src: url("Inter-Medium.woff2") format("woff2"),
url("Inter-Medium.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 500;
src: url("Inter-MediumItalic.woff2") format("woff2"),
url("Inter-MediumItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
src: url("Inter-SemiBold.woff2") format("woff2"),
url("Inter-SemiBold.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 600;
src: url("Inter-SemiBoldItalic.woff2") format("woff2"),
url("Inter-SemiBoldItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
src: url("Inter-Bold.woff2") format("woff2"),
url("Inter-Bold.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
src: url("Inter-BoldItalic.woff2") format("woff2"),
url("Inter-BoldItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 800;
src: url("Inter-ExtraBold.woff2") format("woff2"),
url("Inter-ExtraBold.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 800;
src: url("Inter-ExtraBoldItalic.woff2") format("woff2"),
url("Inter-ExtraBoldItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 900;
src: url("Inter-Black.woff2") format("woff2"),
url("Inter-Black.woff") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 900;
src: url("Inter-BlackItalic.woff2") format("woff2"),
url("Inter-BlackItalic.woff") format("woff");
}
/* -------------------------------------------------------
Variable font.
Usage:
html { font-family: 'Inter', sans-serif; }
@supports (font-variation-settings: normal) {
html { font-family: 'Inter var', sans-serif; }
}
*/
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-style: normal;
font-named-instance: 'Regular';
src: url("Inter-upright.var.woff2") format("woff2 supports variations(gvar)"),
url("Inter-upright.var.woff2") format("woff2-variations"),
url("Inter-upright.var.woff2") format("woff2");
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-style: italic;
font-named-instance: 'Italic';
src: url("Inter-italic.var.woff2") format("woff2 supports variations(gvar)"),
url("Inter-italic.var.woff2") format("woff2-variations"),
url("Inter-italic.var.woff2") format("woff2");
}
/* --------------------------------------------------------------------------
[EXPERIMENTAL] Multi-axis, single variable font.
Slant axis is not yet widely supported (as of February 2019) and thus this
multi-axis single variable font is opt-in rather than the default.
When using this, you will probably need to set font-variation-settings
explicitly, e.g.
* { font-variation-settings: "slnt" 0deg }
.italic { font-variation-settings: "slnt" 10deg }
*/
@font-face {
font-family: 'Inter var experimental';
font-weight: 100 900;
font-style: oblique 0deg 10deg;
src: url("Inter.var.woff2") format("woff2-variations"),
url("Inter.var.woff2") format("woff2");
}

View File

@ -0,0 +1,16 @@
/* latin-ext */
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 400;
src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(SourceCodePro-Regular.ttf);
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 400;
src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(SourceCodePro-Regular.ttf);
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@ -0,0 +1,280 @@
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('SourceSansPro-LightItalic.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('SourceSansPro-Italic.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('SourceSansPro-Light.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('SourceSansPro-Regular.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('SourceSansPro-Bold.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

549
style/style.css Normal file
View File

@ -0,0 +1,549 @@
:root {
--main-highlight-color: #EF940B;
--main-bg-color: white;
--main-text-color: black;
--main-link-color: #106BF4;
--shadow-color: #888;
--gray-light: #cacaca;
--gray-medium: #e0e0e0;
--gray-dark: #4c4c4c;
--red: red;
--green: green;
--default-margin-tiny: 0.5em;
--default-margin-small: 0.75em;
--default-margin: 1em;
--default-margin-tiny: 0.15em;
--border-radius-small: 0.35em;
--border-radius-medium: 0.5em;
--thin-border-width: 1px;
--medium-border-width: 2px;
}
body {
color: var(--main-text-color);
background-color: var(--main-bg-color);
}
a {
color: var(--main-link-color);
}
.themelist,
.centertitle,
.horizontal-list {
text-align: center;
}
.themelist > ul {
background: var(--gray-light);
border-radius: var(--border-radius-medium);
padding: var(--default-margin) calc(var(--default-margin) * 1.5);
list-style: none;
display: inline-block;
}
.themelist li {
background-color: var(--main-bg-color);
margin: calc(var(--default-margin) / 2) 0;
padding: calc(var(--default-margin) / 2);
border-radius: var(--border-radius-small);
}
.link {
text-decoration: none;
color: inherit;
}
.link span {
position: relative;
}
.link span:before,
.link span:after {
content: "";
position: absolute;
bottom: -0.25em;
width: 0;
height: var(--medium-border-width);
margin: 0 0 0;
background-color: var(--main-highlight-color);
}
.link span:before {
left: 50%;
}
.link span:after {
right: 50%;
}
.link:hover span:before,
.link:hover span:after {
width: 50%;
}
.avatar-grid {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
img.avatar {
width: 100%;
border-radius: var(--border-radius-medium);
}
.avatar {
box-shadow: 5px 5px 8px var(--shadow-color);
}
.avatar:hover,
.themelist li:hover,
.link:hover {
transform: scale(1.1);
}
.themelist li:hover {
background-color: var(--secondary-bg-color);
}
.blur {
transition: all .2s ease-in-out 2s;
filter: blur(5px) grayscale(80%);
}
.separator {
display: inline-block;
border-left: var(--thin-border-width) solid black;
width: var(--thin-border-width);
height: var(--default-margin-small);
box-sizing: border-box;
}
.avatar-box {
width: 300px;
margin: var(--default-margin);
}
.username {
margin-left: 5px;
color: var(--gray-dark);
}
.post-box {
background: var(--gray-medium);
border-radius: 5px;
}
.post-box {
box-shadow: 5px 5px 10px var(--shadow-color);
}
.post-text-box {
margin: 5px 0;
padding: 3px;
box-shadow: 0 0 11px 2px var(--shadow-color);
border-radius: 5px;
}
.user-box,
.post-meta-box {
border-radius: 5px;
background: var(--gray-light);
padding: 3px;
box-sizing: border-box;
width: 100%;
display: inline-block;
}
.user-box {
padding-bottom: 0;
}
.post-meta-box {
padding-top: 0;
}
.loader,
.loader-small {
border: var(--medium-border-width) solid var(--main-bg-color); /* Light grey */
border-top: var(--medium-border-width) solid var(--main-highlight-color); /* Blue */
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
margin: auto;
}
.loader-small {
width: 0.5em;
height: 0.5em;
margin-left: 0.5em;
display: inline-block;
}
.presence-indicator {
border: 5px solid var(--gray-dark);
border-radius: 50%;
display: inline-block;
margin-left: 0.2em;
}
.linkbutton {
border-radius: var(--border-radius-small);
padding: calc(var(--default-margin) / 2);
text-decoration: none;
background: var(--gray-light);
display: inline-block;
margin-left: var(--default-margin);
color: inherit;
}
button {
border: none;
}
.avatar,
.linkbutton,
.themelist li,
.link span:before,
.link span:after,
.theme-chooser-list-item,
.theme-chooser-list-item span:before,
.theme-chooser-list-item span:after {
transition: all .2s ease-in-out;
}
.theme-chooser-wrapper {
background: var(--gray-light);
border-radius: var(--border-radius-medium);
padding: 0 var(--default-margin);
display: inline-block;
}
.theme-chooser-wrapper > span, .theme-chooser-wrapper > div {
padding: calc(var(--default-margin) / 2);
border-radius: var(--border-radius-small);
margin: calc(var(--default-margin) / 4);
color: var(--main-bg-color);
background: var(--gray-dark);
display: inline-block;
}
.theme-chooser-list {
display: inline-block;
text-align: left;
list-style: none;
margin: calc(var(--default-margin) / 2);
padding: 0;
}
.theme-chooser-list-item {
display: inline-block;
padding: calc(var(--default-margin) / 2);
background: var(--main-bg-color);
border-radius: var(--border-radius-small);
margin: calc(var(--default-margin) / 4);
}
.theme-chooser-list > a {
text-decoration: none;
color: inherit;
}
.theme-chooser-list-item:hover {
transform: scale(1.1);
}
.theme-chooser-list-item span {
position: relative;
}
.theme-chooser-list-item span:before,
.theme-chooser-list-item span:after {
content: "";
position: absolute;
bottom: -0.25em;
width: 0;
height: var(--medium-border-width);
margin: 0 0 0;
background-color: var(--main-highlight-color);
}
.theme-chooser-list-item span:before {
left: 50%;
}
.theme-chooser-list-item span:after {
right: 50%;
}
.theme-chooser-list-item:hover span:before,
.theme-chooser-list-item:hover span:after {
width: 50%;
}
.theme-preview {
background: var(--main-bg-color);
color: var(--main-text-color);
display: inline-block;
border-radius: var(--border-radius-small);
text-align: center;
position: absolute;
width: 80%;
max-width: 400px;
display: none;
z-index: 1000;
bottom: 10%;
left: 50%;
transform: translate(-50%, calc(100% - 2em));
}
.theme-preview div {
padding: 0.5em;
border-radius: inherit;
margin: 0.5em;
}
.theme-preview > div {
background: var(--gray-light);
}
.theme-preview > div > div {
background: var(--main-bg-color);
}
.theme-preview .hl-color {
border: 2px solid var(--main-highlight-color);
}
.theme-preview .link-color {
border: 2px solid var(--main-link-color);
}
.theme-preview .red {
border: 2px solid var(--red);
}
.theme-preview .green {
border: 2px solid var(--green);
}
.theme-preview .light-gray {
border: 2px solid var(--gray-light);
}
.theme-preview .medium-gray {
border: 2px solid var(--gray-medium);
}
.theme-preview .dark-gray {
border: 2px solid var(--gray-dark);
}
.theme-preview .shadow {
box-shadow: 0px 0px 5px 5px var(--shadow-color);
}
.theme-preview::before {
content: "";
width: 0px;
height: 0px;
border: 0.8em solid transparent;
position: absolute;
left: 49%;
bottom: -30px;
border-top: 20px solid var(--main-bg-color);
}
.dimmer {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0.5;
z-index: 999;
pointer-events: none;
}
.advanced-upload {
background-color: var(--gray-light);
/*
outline: 2px dashed var(--main-highlight-color);
outline-offset: -10px;
*/
border-radius: var(--border-radius-medium);
}
.advanced-upload .upload-box {
display: inline;
}
input:not([type=submit]):not([type=file]) {
padding: var(--border-radius-small);
background: var(--gray-light);
border-radius: var(--border-radius-medium);
border: none;
-moz-appearance: textfield;
-webkit-appearance: textfield;
appearance: textfield;
margin: 0;
color: inherit;
}
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input:focus {
outline: outline: 5px solid var(--main-highlight-color);
}
#avatarupload {
width: 0.1px;
height: 0.1px;
opacity: 0;
overflow: hidden;
position: absolute;
z-index: -1;
}
.file-upload label {
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: inline-block;
overflow: hidden;
text-align: center;
}
.upload-form {
display: none;
}
.file-upload {
padding: 100px 20px;
position: relative;
}
.advanced-upload .outline-radius {
width: calc(100% - 20px);
height: calc(100% - 20px);
border: 2px dashed var(--main-highlight-color);
position: absolute;
left: 9px;
top: 9px;
border-radius: var(--border-radius-medium);
}
button.linkbutton {
padding: var(--border-radius-small);
}
#avatarPreviewContainer {
position: absolute;
left: 0;
bottom: 0;
}
#avatarPreview {
max-width: 100px;
max-height: 100px;
}
#removeImage {
width: 20px;
height: 20px;
position: absolute;
top: 0;
right: 0;
display: none;
}
#removeImage svg {
fill: var(--red);
}
#uploadProgress {
display: none;
width: 100%;
/*
color: red;
background: red;
border: 1px solid red;
*/
}
.notif {
position: absolute;
padding: var(--default-margin-small);
min-width: 250px;
z-index: 999999;
border-radius: var(--border-radius-small);
color: var(--shadow-color);
font-weight: 300;
white-space: nowrap;
user-select: none;
opacity: 0;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
box-sizing: border-box;
transform: scaleX(0.5);
transition: all 0.4s ease-out;
color: var(--gray-dark);
}
.notif[data-state="success"] {
background-color: var(--green);
color: var(--gray-light);
}
.notif[data-state="alert"] {
background-color: var(--red);
}
.notif[data-state="default"] {
background: var(--main-link-color);
}
/*
progress::-webkit-progress-bar {
background: var(--gray-light);
}
progress::-webkit-progress-value {
background: red;
}
progress::-moz-progress-bar {
background: red;
}
progress {
color: red;
}
*/
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@media (prefers-color-scheme: dark) {
:root {
--main-highlight-color: #EE6E1F;
--main-bg-color: #333;
--main-text-color: #d0d0d0;
--main-link-color: #1191e0;
--gray-light: #4c4c4c;
--gray-dark: #cacaca;
--gray-medium: #3b3b3b;
--shadow-color: #656565;
--red: #e4053e;
--green: #04c446;
}
}

707
style/style_new.css Normal file
View File

@ -0,0 +1,707 @@
@import "fonts/source_sans_pro.css";
@import "fonts/inter.css";
:root {
--main-highlight-color: #EF940B;
--main-bg-color: white;
--main-text-color: black;
--main-link-color: #106BF4;
--shadow-color: #3333334d;
--gray-light: #cacaca;
--gray-medium: #e0e0e0;
--gray-dark: #4c4c4c;
--red: red;
--green: green;
--default-margin-tiny: 0.5em;
--default-margin-small: 0.75em;
--default-margin: 1em;
--default-margin-tiny: 2px;
--border-radius-small: 5px;
--border-radius-medium: 8px;
--border-radius-big: 10px;
--thin-border-width: 1px;
--medium-border-width: 2px;
}
body {
color: var(--main-text-color);
background-color: var(--main-bg-color);
-webkit-font-smoothing:subpixel-antialiased;
font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, Ubuntu, Cantarell, "Segoe UI", Roboto, Oxygen-Sans, "San Francisco", "Helvetica Neue", Helvetica, "Lucida Grande", Tahoma, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
font-size: 15px;
}
a {
color: var(--main-link-color);
}
.themelist,
.centertitle,
.horizontal-list {
text-align: center;
}
.themelist > ul {
background: var(--gray-light);
border-radius: var(--border-radius-medium);
padding: var(--default-margin) calc(var(--default-margin) * 1.5);
list-style: none;
display: inline-block;
}
.themelist li {
background-color: var(--main-bg-color);
margin: calc(var(--default-margin) / 2) 0;
padding: calc(var(--default-margin) / 2);
border-radius: var(--border-radius-small);
}
.link {
text-decoration: none;
color: inherit;
}
.link span {
position: relative;
}
.link span:before,
.link span:after {
content: "";
position: absolute;
bottom: -0.25em;
width: 0;
height: var(--medium-border-width);
margin: 0 0 0;
background-color: var(--main-highlight-color);
}
.link span:before {
left: 50%;
}
.link span:after {
right: 50%;
}
.link:hover span:before,
.link:hover span:after {
width: 50%;
}
.avatar-grid {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
img.avatar {
width: 100%;
}
.avatar {
border-radius: var(--border-radius-big) var(--border-radius-big) 0 0;
}
.themelist li:hover,
.link:hover {
transform: perspective(1px) scale(1.1) translateZ(0);
}
/*
.avatar-box:hover {
transform: perspective(1px) scale(1.1) translateZ(0);
}
*/
.avatar-wrapper:hover {
transform: perspective(1px) scale(1.1) translateZ(0);
z-index: 1000
}
.avatar-wrapper:hover .avatar {
border-radius: 10px;
z-index: -1000;
}
/*
.avatar-wrapper:hover ~ * {
transform: translateY(-100%);
}
*/
.blur {
transition: all .2s ease-in-out 2s;
filter: blur(5px) grayscale(80%);
}
.separator {
display: inline-block;
border-left: var(--thin-border-width) solid black;
width: var(--thin-border-width);
height: var(--default-margin-small);
box-sizing: border-box;
}
.avatar-box {
width: 300px;
margin: var(--default-margin);
border-radius: var(--border-radius-big);
filter:drop-shadow(0 0 var(--border-radius-big) var(--shadow-color));
backface-visibility:hidden;
border: 1px solid var(--gray-light);
}
.avatar-wrapper {
height: 300px;
}
.username {
margin-left: 5px;
color: var(--gray-dark);
}
.post-box {
background: var(--gray-medium);
border-top:1px solid var(--gray-light);
}
.post-box > div {
padding: 5px;
}
.post-text-box {
margin: 5px 0;
}
.user-box,
.post-meta-box {
background: var(--gray-light);
box-sizing: border-box;
width: 100%;
display: inline-block;
}
.post-box, .post-meta-box:last-child{
border-radius:0 0 var(--border-radius-big) var(--border-radius-big);
}
.post-meta-box, .username, [itemprop="tag"], .themelist li {
font-family: "Source Code Pro", "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
}
.post-meta-box {
font-size: smaller;
}
[itemprop="tag"] {
text-decoration: underline var(--main-highlight-color);
}
.loader,
.loader-small {
border: var(--medium-border-width) solid var(--main-bg-color); /* Light grey */
border-top: var(--medium-border-width) solid var(--main-highlight-color); /* Blue */
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
margin: auto;
}
.loader-small {
width: 0.5em;
height: 0.5em;
margin-left: 0.5em;
display: inline-block;
}
.presence-indicator {
border: 5px solid var(--gray-dark);
border-radius: 50%;
display: inline-block;
margin-left: 0.2em;
}
.linkbutton {
border-radius: var(--border-radius-small);
padding: calc(var(--default-margin) / 2);
text-decoration: none;
background: var(--gray-light);
display: inline-block;
margin-left: var(--default-margin);
color: inherit;
}
.linkbutton:not(:last-child) {
margin-bottom: var(--default-margin);
}
button {
border: none;
}
.avatar-box,
.avatar,
.avatar-wrapper,
.linkbutton,
.themelist li,
.link span:before,
.link span:after,
.theme-chooser-list-item,
.theme-chooser-list-item span:before,
.theme-chooser-list-item span:after {
transition: all .2s ease-in-out;
}
.theme-chooser-wrapper {
background: var(--gray-light);
border-radius: var(--border-radius-medium);
padding: 0 var(--default-margin);
display: inline-block;
}
.theme-chooser-wrapper > span, .theme-chooser-wrapper > div {
padding: calc(var(--default-margin) / 2);
border-radius: var(--border-radius-small);
margin: calc(var(--default-margin) / 4);
color: var(--main-bg-color);
background: var(--gray-dark);
display: inline-block;
}
.theme-chooser-list {
display: inline-block;
text-align: left;
list-style: none;
margin: calc(var(--default-margin) / 2);
padding: 0;
}
.theme-chooser-list-item {
display: inline-block;
padding: calc(var(--default-margin) / 2);
background: var(--main-bg-color);
border-radius: var(--border-radius-small);
margin: calc(var(--default-margin) / 4);
}
.theme-chooser-list > a {
text-decoration: none;
color: inherit;
}
.theme-chooser-list-item:hover {
transform: scale(1.1);
}
.theme-chooser-list-item span {
position: relative;
}
.theme-chooser-list-item span:before,
.theme-chooser-list-item span:after {
content: "";
position: absolute;
bottom: -0.25em;
width: 0;
height: var(--medium-border-width);
margin: 0 0 0;
background-color: var(--main-highlight-color);
}
.theme-chooser-list-item span:before {
left: 50%;
}
.theme-chooser-list-item span:after {
right: 50%;
}
.theme-chooser-list-item:hover span:before,
.theme-chooser-list-item:hover span:after {
width: 50%;
}
.theme-preview {
background: var(--main-bg-color);
color: var(--main-text-color);
display: inline-block;
border-radius: var(--border-radius-small);
text-align: center;
position: absolute;
width: 80%;
max-width: 400px;
display: none;
z-index: 1000;
bottom: 10%;
left: 50%;
transform: translate(-50%, calc(100% - 2em));
}
.theme-preview div {
padding: 0.5em;
border-radius: inherit;
margin: 0.5em;
}
.theme-preview > div {
background: var(--gray-light);
}
.theme-preview > div > div {
background: var(--main-bg-color);
}
.theme-preview .hl-color {
border: 2px solid var(--main-highlight-color);
}
.theme-preview .link-color {
border: 2px solid var(--main-link-color);
}
.theme-preview .red {
border: 2px solid var(--red);
}
.theme-preview .green {
border: 2px solid var(--green);
}
.theme-preview .light-gray {
border: 2px solid var(--gray-light);
}
.theme-preview .medium-gray {
border: 2px solid var(--gray-medium);
}
.theme-preview .dark-gray {
border: 2px solid var(--gray-dark);
}
.theme-preview .shadow {
box-shadow: 0px 0px 5px 5px var(--shadow-color);
}
.theme-preview::before {
content: "";
width: 0px;
height: 0px;
border: 0.8em solid transparent;
position: absolute;
left: 49%;
bottom: -30px;
border-top: 20px solid var(--main-bg-color);
}
.dimmer {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0.5;
z-index: 999;
pointer-events: none;
}
.advanced-upload {
background-color: var(--gray-light);
width: 300px;
border-radius: var(--border-radius-medium);
}
.advanced-upload .upload-box {
display: inline;
}
input:not([type=submit]):not([type=file]):not([type=checkbox]) {
padding: var(--border-radius-small);
background: var(--gray-light);
/*border-radius: var(--border-radius-medium);*/
border-radius: var(--border-radius-small);
border: none;
-moz-appearance: textfield;
-webkit-appearance: textfield;
appearance: textfield;
margin: 0;
color: inherit;
}
.checkbox-container {
display: block;
position: relative;
padding-left: 1.5em;
/*margin-bottom: 12px;*/
cursor: pointer;
/*font-size: 22px;*/
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 1em;
width: 1em;
background-color: var(--gray-dark);
}
/* On mouse-over, add a grey background color */
.checkbox-container:hover input ~ .checkmark {
background-color: var(--gray-light);
}
/* When the checkbox is checked, add a blue background */
.checkbox-container input:checked ~ .checkmark {
background-color: var(--gray-light);
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the checkmark when checked */
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
/* Style the checkmark/indicator */
.checkbox-container .checkmark:after {
left: 0.25em;
top: 0;
width: 0.3em;
height: 0.6em;
border: solid var(--main-highlight-color);
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input:focus {
outline: 5px solid var(--main-highlight-color);
}
textarea {
background: var(--gray-light);
border: none;
border-radius: var(--border-radius-small);
color: inherit;
font: inherit;
}
textarea.posttext {
width: 100%;
/*display: none;*/
}
.file-upload-input {
/*width: 0.1px;
height: 0.1px;*/
opacity: 0;
overflow: hidden;
position: absolute;
/*z-index: -1;*/
width: 100%;
height: 100%;
z-index: 999;
transform: translateX(-20px) translateY(-100px);
}
.file-upload label {
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: inline-block;
overflow: hidden;
text-align: center;
}
.upload-form {
display: none;
}
.file-upload {
padding: 100px 20px;
position: relative;
}
.advanced-upload .outline-radius {
width: calc(100% - 20px);
height: calc(100% - 20px);
border: 2px dashed var(--main-highlight-color);
position: absolute;
left: 9px;
top: 9px;
border-radius: var(--border-radius-medium);
}
#uploadTempAvatar input[type=number] {
width: 30px;
}
button.linkbutton {
padding: var(--border-radius-small);
}
.avatarPreviewContainer {
position: absolute;
left: 0;
bottom: 0;
}
.avatarPreview {
max-width: 100px;
max-height: 100px;
}
.removeImage {
width: 20px;
height: 20px;
position: absolute;
top: 0;
right: 0;
display: none;
}
.removeImage svg {
fill: var(--red);
}
.uploadProgress {
display: none;
width: 100%;
/*
color: red;
background: red;
border: 1px solid red;
*/
}
.duration-row td {
vertical-align: baseline;
}
input:invalid {
/*border: 1px solid var(--red) !important;*/
box-shadow: inset 0px 0px 1px 1px var(--red);
}
/*
input:not(invalid) {
border: 1px solid transparent !important;
}
*/
input {
box-sizing: border-box;
}
.upload-form table {
max-width: 400px;
}
.ui-element {
font-family: "Inter";
}
.hidden {
display: none;
}
.notif {
position: absolute;
padding: var(--default-margin-small);
min-width: 250px;
z-index: 999999;
border-radius: var(--border-radius-small);
color: var(--shadow-color);
font-weight: 300;
white-space: nowrap;
user-select: none;
opacity: 0;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
box-sizing: border-box;
transform: scaleX(0.5);
transition: all 0.4s ease-out;
color: var(--gray-dark);
}
.notif[data-state="success"] {
background-color: var(--green);
color: var(--gray-light);
}
.notif[data-state="alert"] {
background-color: var(--red);
}
.notif[data-state="default"] {
background: var(--main-link-color);
}
.notif[data-state="warn"] {
background: rgb(255, 166, 32);
color: var(--main-text-color);
}
/*
progress::-webkit-progress-bar {
background: var(--gray-light);
}
progress::-webkit-progress-value {
background: red;
}
progress::-moz-progress-bar {
background: red;
}
progress {
color: red;
}
*/
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@media (prefers-color-scheme: dark) {
:root {
--main-highlight-color: #EF940B;
--main-bg-color: white;
--main-text-color: black;
--main-link-color: #106BF4;
--gray-light: #cacaca;
--gray-dark: #4c4c4c;
--gray-medium: #e0e0e0;
--shadow-color: #888;
}
}
#imgTooLarge {
display: none;
color: var(--red);
}