mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
326 lines
6.1 KiB
CSS
326 lines
6.1 KiB
CSS
:root {
|
|
color-scheme: light;
|
|
--font-stack: sans-serif;
|
|
|
|
--background-color: #fff;
|
|
--text-color: #000;
|
|
--secondary: #666;
|
|
--bg: oklch(0.76 0.0854 317.27);
|
|
--panel-bg: oklch(0.91 0.042 317.27);
|
|
--c1: oklch(0.44 0.177 353.06);
|
|
--c2: oklch(0.59 0.158 150.88);
|
|
--avatar-color: var(--c2);
|
|
|
|
--name-lightness: 0.45;
|
|
--background-lightness: 0.9;
|
|
|
|
--background-gradient:
|
|
radial-gradient(42.12% 56.13% at 100% 0%, oklch(from var(--c2) var(--background-lightness) c h) 0%, #fff0 100%),
|
|
radial-gradient(42.01% 79.63% at 52.86% 0%, #d9ff5333 0%, #fff0 100%),
|
|
radial-gradient(79.67% 58.09% at 0% 0%, oklch(from var(--c1) var(--background-lightness) c h) 0%, #fff0 100%);
|
|
|
|
--normal-font-size: 1rem;
|
|
--small-font-size: 0.8rem;
|
|
|
|
--border-radius-sm: 5px;
|
|
--border-radius-lg: 15px;
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
color-scheme: dark;
|
|
--text-color: #f5ebeb;
|
|
--secondary: #999;
|
|
--bg: oklch(0.15 0.042 317.27);
|
|
--panel-bg: oklch(0.24 0.03 317.27);
|
|
|
|
--name-lightness: 0.8;
|
|
--background-lightness: 0.2;
|
|
|
|
--background-gradient:
|
|
radial-gradient(
|
|
42.12% 56.13% at 100% 0%,
|
|
oklch(from var(--c2) var(--background-lightness) c h) 0%,
|
|
#12121200 100%
|
|
),
|
|
radial-gradient(55.81% 87.78% at 48.37% 0%, #000 0%, #12121200 89.55%),
|
|
radial-gradient(
|
|
122.65% 88.24% at 0% 0%,
|
|
oklch(from var(--c1) var(--background-lightness) c h) 0%,
|
|
#12121200 100%
|
|
);
|
|
}
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
|
|
margin: 0;
|
|
padding: 0;
|
|
min-height: 100vh;
|
|
|
|
color: var(--text-color);
|
|
font-family: var(--font-stack);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
html {
|
|
background-color: var(--bg);
|
|
background-image: var(--background-gradient);
|
|
font-size: var(--normal-font-size);
|
|
}
|
|
|
|
footer {
|
|
padding-inline: 0.25rem;
|
|
margin-top: 1rem;
|
|
height: max(fit-content, 2rem);
|
|
|
|
.logo {
|
|
width: 100%;
|
|
height: 64px;
|
|
}
|
|
}
|
|
|
|
p {
|
|
margin: 1rem 0;
|
|
|
|
a {
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
ul {
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
section {
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
em {
|
|
color: oklch(from var(--c2) var(--name-lightness) c h);
|
|
font-weight: bold;
|
|
font-style: normal;
|
|
|
|
&.negative {
|
|
color: red;
|
|
}
|
|
}
|
|
|
|
hr {
|
|
border-width: 1px;
|
|
border-color: var(--secondary);
|
|
}
|
|
|
|
small {
|
|
color: var(--secondary);
|
|
}
|
|
|
|
small.error {
|
|
display: block;
|
|
color: red;
|
|
font-size: small;
|
|
font-style: italic;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
|
|
img.matrix-icon {
|
|
@media (prefers-color-scheme: dark) {
|
|
filter: invert();
|
|
}
|
|
}
|
|
|
|
h1.with-matrix-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
a:last-of-type {
|
|
margin-left: auto;
|
|
|
|
img {
|
|
height: 1em;
|
|
}
|
|
}
|
|
}
|
|
|
|
h1 a.back {
|
|
font-size: initial;
|
|
font-weight: initial;
|
|
}
|
|
|
|
label {
|
|
display: block;
|
|
margin-bottom: 0.2em;
|
|
}
|
|
|
|
a, a:visited {
|
|
color: oklch(from var(--c1) var(--name-lightness) c h);
|
|
}
|
|
|
|
code {
|
|
color: oklch(from var(--secondary) var(--name-lightness) c h);
|
|
}
|
|
|
|
pre {
|
|
background-color: oklch(from var(--panel-bg) calc(l - 0.05) c h);
|
|
border-radius: var(--border-radius-sm);
|
|
padding: 8px;
|
|
}
|
|
|
|
input, button, a.button {
|
|
display: inline-block;
|
|
padding: 0.5em;
|
|
|
|
font-size: inherit;
|
|
font-family: inherit;
|
|
line-height: normal;
|
|
color: var(--text-color);
|
|
text-decoration: none;
|
|
background-color: transparent;
|
|
|
|
border: none;
|
|
border-radius: var(--border-radius-sm);
|
|
}
|
|
|
|
input {
|
|
border: 2px solid var(--secondary);
|
|
|
|
&:focus-visible {
|
|
outline: 2px solid var(--c1);
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
|
|
input[type="checkbox"] {
|
|
display: inline;
|
|
margin: 0;
|
|
width: auto !important;
|
|
}
|
|
|
|
button, a.button {
|
|
color: white;
|
|
background-color: var(--c1);
|
|
transition: opacity .2s;
|
|
text-align: center;
|
|
margin: 0.5rem 0;
|
|
|
|
&:enabled:hover {
|
|
opacity: 0.8;
|
|
cursor: pointer;
|
|
}
|
|
|
|
&:disabled {
|
|
color: lightgray;
|
|
background-color: gray;
|
|
}
|
|
|
|
&:not(:disabled) {
|
|
transition: linear color, background-color 0.1s;
|
|
}
|
|
|
|
&:visited {
|
|
color: white;
|
|
}
|
|
}
|
|
|
|
h1 {
|
|
margin-top: 0;
|
|
margin-bottom: 0.67em;
|
|
}
|
|
|
|
ul.bullet-separated {
|
|
display: inline-block;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
li {
|
|
display: inline;
|
|
flex: 1;
|
|
list-style-type: none;
|
|
|
|
&:not(:first-child)::before {
|
|
content: "• ";
|
|
}
|
|
}
|
|
}
|
|
|
|
.fullwidth {
|
|
width: 100%;
|
|
margin-bottom: 0 !important;
|
|
}
|
|
|
|
.select-all {
|
|
user-select: all;
|
|
}
|
|
|
|
.panel {
|
|
--preferred-width: 12rem + 40dvw;
|
|
--maximum-width: 48rem;
|
|
--minimum-width: 32rem;
|
|
|
|
width: min(clamp(var(--minimum-width), var(--preferred-width), var(--maximum-width)), calc(100dvw - 3rem));
|
|
border-radius: var(--border-radius-lg);
|
|
background-color: var(--panel-bg);
|
|
padding-inline: 1.5rem;
|
|
padding-block: 1rem;
|
|
margin-top: 1em;
|
|
margin-bottom: auto;
|
|
box-shadow: 0 0.25em 0.375em hsla(0, 0%, 0%, 0.1);
|
|
|
|
&.middle {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
&.narrow {
|
|
--preferred-width: 12rem + 20dvw;
|
|
--maximum-width: 36rem;
|
|
|
|
input, button, a.button {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
&:not(.narrow) form p {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
.project-name {
|
|
font-weight: bold;
|
|
text-decoration: none !important;
|
|
background: linear-gradient(
|
|
130deg,
|
|
oklch(from var(--c1) var(--name-lightness) c h),
|
|
oklch(from var(--c2) var(--name-lightness) c h)
|
|
);
|
|
background-clip: text;
|
|
color: transparent;
|
|
filter: brightness(1.2);
|
|
}
|
|
|
|
@media (max-width: 425px) {
|
|
main {
|
|
padding-block-start: 2rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.panel {
|
|
border-radius: 0;
|
|
width: 100%;
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 799px) {
|
|
input, button, a.button {
|
|
width: 100%;
|
|
}
|
|
}
|