Files
archtika/web-app/template-styles/common-styles.css
2024-08-25 16:31:12 +02:00

321 lines
6.5 KiB
CSS

@import url("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github.min.css")
screen and (prefers-color-scheme: light);
@import url("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github-dark.min.css")
screen and (prefers-color-scheme: dark);
@font-face {
font-family: "JetBrains Mono";
font-style: normal;
font-display: swap;
font-weight: 400;
src:
url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono@latest/latin-400-normal.woff2)
format("woff2"),
url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono@latest/latin-400-normal.woff)
format("woff");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
U+FFFD;
}
:root {
--bg-primary: white;
--bg-secondary: hsl(0 0% 95%);
--bg-tertiary: hsl(0 0% 90%);
--color-text: black;
--color-text-invert: white;
--color-accent: hsl(210, 100%, 30%);
--color-success: hsl(105, 100%, 30%);
--color-error: hsl(0, 100%, 30%);
--border-primary: 0.0625rem solid var(--bg-tertiary);
--border-radius: 0.125rem;
/* Step -1: 14.9953px → 14.2222px */
--font-size--1: clamp(0.8889rem, 0.9592rem + -0.1098cqi, 0.9372rem);
/* Step 0: 16px → 16px */
--font-size-0: clamp(1rem, 1rem + 0cqi, 1rem);
/* Step 1: 17.072px → 18px */
--font-size-1: clamp(1.067rem, 1.0406rem + 0.1318cqi, 1.125rem);
/* Step 2: 18.2158px → 20.25px */
--font-size-2: clamp(1.1385rem, 1.0807rem + 0.2889cqi, 1.2656rem);
/* Step 3: 19.4363px → 22.7813px */
--font-size-3: clamp(1.2148rem, 1.1197rem + 0.4751cqi, 1.4238rem);
/* Step 4: 20.7385px → 25.6289px */
--font-size-4: clamp(1.2962rem, 1.1572rem + 0.6947cqi, 1.6018rem);
/* Step 5: 22.128px → 28.8325px */
--font-size-5: clamp(1.383rem, 1.1925rem + 0.9523cqi, 1.802rem);
/* Space 3xs: 4px → 5px */
--space-3xs: clamp(0.25rem, 0.2336rem + 0.0822cqi, 0.3125rem);
/* Space 2xs: 8px → 10px */
--space-2xs: clamp(0.5rem, 0.4671rem + 0.1645cqi, 0.625rem);
/* Space xs: 12px → 15px */
--space-xs: clamp(0.75rem, 0.7007rem + 0.2467cqi, 0.9375rem);
/* Space s: 16px → 20px */
--space-s: clamp(1rem, 0.9342rem + 0.3289cqi, 1.25rem);
/* Space m: 24px → 30px */
--space-m: clamp(1.5rem, 1.4013rem + 0.4934cqi, 1.875rem);
/* Space l: 32px → 40px */
--space-l: clamp(2rem, 1.8684rem + 0.6579cqi, 2.5rem);
/* Space xl: 48px → 60px */
--space-xl: clamp(3rem, 2.8026rem + 0.9868cqi, 3.75rem);
/* Space 2xl: 64px → 80px */
--space-2xl: clamp(4rem, 3.7368rem + 1.3158cqi, 5rem);
/* Space 3xl: 96px → 120px */
--space-3xl: clamp(6rem, 5.6053rem + 1.9737cqi, 7.5rem);
color-scheme: light;
}
@media (prefers-color-scheme: dark) {
:root {
--bg-primary: hsl(0 0% 15%);
--bg-secondary: hsl(0 0% 20%);
--bg-tertiary: hsl(0 0% 25%);
--color-text: white;
--color-text-invert: black;
--color-accent: hsl(210, 100%, 80%);
--color-success: hsl(105, 100%, 80%);
--color-error: hsl(0, 100%, 80%);
color-scheme: dark;
}
}
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
line-height: 1.5;
font-family: system-ui, sans-serif;
background-color: var(--bg-primary);
display: flex;
flex-direction: column;
min-block-size: 100vh;
}
button,
label,
select,
[role="button"],
[role="option"],
label[for="toggle-mobile-preview"],
summary {
cursor: pointer;
}
input,
button,
textarea,
select,
a[role="button"],
label[for="toggle-mobile-preview"],
summary {
font: inherit;
color: inherit;
border: var(--border-primary);
border-radius: var(--border-radius);
padding-inline: var(--space-2xs);
padding-block: var(--space-3xs);
}
input,
textarea,
select {
background-color: var(--bg-primary);
}
textarea {
resize: vertical;
}
input[type="file"] {
inline-size: 100%;
}
input[type="color"] {
padding: 0;
}
a[role="button"] {
display: inline-block;
max-inline-size: fit-content;
text-decoration: none;
}
summary {
max-inline-size: fit-content;
}
button,
a[role="button"],
label[for="toggle-mobile-preview"],
summary {
background-color: var(--bg-secondary);
}
:is(button, a[role="button"], label[for="toggle-mobile-preview"], summary):hover {
background-color: var(--bg-tertiary);
}
:is(button, input, textarea, select, a, summary, pre):focus,
#toggle-mobile-preview:checked + label {
outline: 0.125rem solid var(--color-accent);
outline-offset: 0.25rem;
}
form {
display: flex;
flex-direction: column;
gap: var(--space-s);
}
form > button[type="submit"] {
max-inline-size: 30ch;
}
form label {
display: flex;
flex-direction: column;
gap: var(--space-2xs);
max-inline-size: 30ch;
}
form label:has(textarea) {
max-inline-size: 75ch;
}
form .file-field {
display: flex;
align-items: end;
gap: var(--space-2xs);
flex-wrap: wrap;
}
section {
display: flex;
flex-direction: column;
gap: var(--space-s);
}
section:has(> h2) + section:has(> h2) {
margin-block-start: var(--space-l);
}
a {
color: var(--color-accent);
}
:is(h1, h2, h3, h4, h5, h6) > a {
color: var(--color-text);
text-decoration: none;
}
:is(h1, h2, h3, h4, h5, h6) > a:hover {
text-decoration: underline;
text-decoration-color: var(--color-accent);
}
details[open] summary {
margin-block-end: var(--space-s);
}
img,
picture,
svg,
video {
max-inline-size: 100%;
block-size: auto;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
overflow-wrap: break-word;
}
h6 {
font-size: var(--font-size-0);
}
h5 {
font-size: var(--font-size-1);
}
h4 {
font-size: var(--font-size-2);
}
h3 {
font-size: var(--font-size-3);
}
h2 {
font-size: var(--font-size-4);
}
h1 {
font-size: var(--font-size-5);
}
small {
font-size: var(--font-size--1);
}
pre {
border: var(--border-primary);
padding: var(--space-s);
overflow-x: auto;
flex-shrink: 0;
}
code {
font-family: "JetBrains Mono", monospace;
font-size: var(--font-size--1);
}
:not(pre) > code {
background-color: var(--bg-secondary);
border: var(--border-primary);
padding-inline: var(--space-3xs);
}
:is(ul, ol):not(.unpadded) {
padding-inline-start: var(--space-s);
}
.unpadded {
list-style: none;
}
hr {
block-size: 0.125rem;
background-color: var(--bg-tertiary);
border: none;
}
.scroll-container {
overflow-x: auto;
}
table {
border-collapse: collapse;
inline-size: 100%;
border: var(--border-primary);
}
th,
td {
text-align: start;
padding-inline: var(--space-2xs);
padding-block: var(--space-3xs);
border: var(--border-primary);
}