mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 02:41:35 +01:00
571 lines
13 KiB
CSS
571 lines
13 KiB
CSS
html {
|
|
--border-primary: 0.0625rem solid var(--color-border);
|
|
--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);
|
|
}
|
|
|
|
html {
|
|
--bg-primary-h: /* BACKGROUND_COLOR_LIGHT_THEME_H */ 0;
|
|
--bg-primary-s: /* BACKGROUND_COLOR_LIGHT_THEME_S */ 0%;
|
|
--bg-primary-l: /* BACKGROUND_COLOR_LIGHT_THEME_L */ 100%;
|
|
--bg-primary: hsl(var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l));
|
|
--bg-secondary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 5%));
|
|
--bg-tertiary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 10%));
|
|
--bg-blurred: hsla(
|
|
var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l) / calc(var(--bg-primary-l) - 20%)
|
|
);
|
|
|
|
--color-text: hsl(var(--bg-primary-h) var(--bg-primary-s) 0%);
|
|
--color-text-invert: var(--bg-primary);
|
|
--color-border: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 50%));
|
|
--color-accent: /* ACCENT_COLOR_LIGHT_THEME */ hsl(210 100% 30%);
|
|
--color-success: hsl(105 100% 30%);
|
|
--color-error: hsl(0 100% 30%);
|
|
|
|
--display-light: none;
|
|
--display-dark: initial;
|
|
|
|
--hl-bg: #fff;
|
|
--hl-color: #24292e;
|
|
--hl-keyword: #d73a49;
|
|
--hl-title: #6f42c1;
|
|
--hl-attr: #005cc5;
|
|
--hl-string: #032f62;
|
|
--hl-built-in: #e36209;
|
|
--hl-comment: #6a737d;
|
|
--hl-tag: #22863a;
|
|
--hl-section: #005cc5;
|
|
--hl-bullet: #735c0f;
|
|
--hl-emphasis: #24292e;
|
|
--hl-addition-bg: #f0fff4;
|
|
--hl-addition-text: #22863a;
|
|
--hl-deletion-bg: #ffeef0;
|
|
--hl-deletion-text: #b31d28;
|
|
|
|
color-scheme: light;
|
|
}
|
|
|
|
html:has(#toggle-theme:checked) {
|
|
--bg-primary-h: /* BACKGROUND_COLOR_DARK_THEME_H */ 0;
|
|
--bg-primary-s: /* BACKGROUND_COLOR_DARK_THEME_S */ 0%;
|
|
--bg-primary-l: /* BACKGROUND_COLOR_DARK_THEME_L */ 15%;
|
|
--bg-primary: hsl(var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l));
|
|
--bg-secondary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 5%));
|
|
--bg-tertiary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 10%));
|
|
--bg-blurred: hsla(
|
|
var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l) / calc(var(--bg-primary-l) + 20%)
|
|
);
|
|
|
|
--color-text: hsl(var(--bg-primary-h) var(--bg-primary-s) 100%);
|
|
--color-text-invert: var(--bg-primary);
|
|
--color-border: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 50%));
|
|
--color-accent: /* ACCENT_COLOR_DARK_THEME */ hsl(210 100% 80%);
|
|
--color-success: hsl(105 100% 80%);
|
|
--color-error: hsl(0 100% 80%);
|
|
|
|
--display-light: initial;
|
|
--display-dark: none;
|
|
|
|
--hl-bg: #0d1117;
|
|
--hl-color: #c9d1d9;
|
|
--hl-keyword: #ff7b72;
|
|
--hl-title: #d2a8ff;
|
|
--hl-attr: #79c0ff;
|
|
--hl-string: #a5d6ff;
|
|
--hl-built-in: #ffa657;
|
|
--hl-comment: #8b949e;
|
|
--hl-tag: #7ee787;
|
|
--hl-section: #1f6feb;
|
|
--hl-bullet: #f2cc60;
|
|
--hl-emphasis: #c9d1d9;
|
|
--hl-addition-bg: #033a16;
|
|
--hl-addition-text: #aff5b4;
|
|
--hl-deletion-bg: #67060c;
|
|
--hl-deletion-text: #ffdcd7;
|
|
|
|
color-scheme: dark;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
html {
|
|
--bg-primary-h: /* BACKGROUND_COLOR_DARK_THEME_H */ 0;
|
|
--bg-primary-s: /* BACKGROUND_COLOR_DARK_THEME_S */ 0%;
|
|
--bg-primary-l: /* BACKGROUND_COLOR_DARK_THEME_L */ 15%;
|
|
--bg-primary: hsl(var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l));
|
|
--bg-secondary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 5%));
|
|
--bg-tertiary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 10%));
|
|
--bg-blurred: hsla(
|
|
var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l) / calc(var(--bg-primary-l) + 20%)
|
|
);
|
|
|
|
--color-text: hsl(var(--bg-primary-h) var(--bg-primary-s) 100%);
|
|
--color-text-invert: var(--bg-primary);
|
|
--color-border: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) + 50%));
|
|
--color-accent: /* ACCENT_COLOR_DARK_THEME */ hsl(210 100% 80%);
|
|
--color-success: hsl(105 100% 80%);
|
|
--color-error: hsl(0 100% 80%);
|
|
|
|
--display-light: initial;
|
|
--display-dark: none;
|
|
|
|
--hl-bg: #0d1117;
|
|
--hl-color: #c9d1d9;
|
|
--hl-keyword: #ff7b72;
|
|
--hl-title: #d2a8ff;
|
|
--hl-attr: #79c0ff;
|
|
--hl-string: #a5d6ff;
|
|
--hl-built-in: #ffa657;
|
|
--hl-comment: #8b949e;
|
|
--hl-tag: #7ee787;
|
|
--hl-section: #1f6feb;
|
|
--hl-bullet: #f2cc60;
|
|
--hl-emphasis: #c9d1d9;
|
|
--hl-addition-bg: #033a16;
|
|
--hl-addition-text: #aff5b4;
|
|
--hl-deletion-bg: #67060c;
|
|
--hl-deletion-text: #ffdcd7;
|
|
|
|
color-scheme: dark;
|
|
}
|
|
|
|
html:has(#toggle-theme:checked) {
|
|
--bg-primary-h: /* BACKGROUND_COLOR_LIGHT_THEME_H */ 0;
|
|
--bg-primary-s: /* BACKGROUND_COLOR_LIGHT_THEME_S */ 0%;
|
|
--bg-primary-l: /* BACKGROUND_COLOR_LIGHT_THEME_L */ 100%;
|
|
--bg-primary: hsl(var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l));
|
|
--bg-secondary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 5%));
|
|
--bg-tertiary: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 10%));
|
|
--bg-blurred: hsla(
|
|
var(--bg-primary-h) var(--bg-primary-s) var(--bg-primary-l) / calc(var(--bg-primary-l) - 20%)
|
|
);
|
|
|
|
--color-text: hsl(var(--bg-primary-h) var(--bg-primary-s) 0%);
|
|
--color-text-invert: var(--bg-primary);
|
|
--color-border: hsl(var(--bg-primary-h) var(--bg-primary-s) calc(var(--bg-primary-l) - 50%));
|
|
--color-accent: /* ACCENT_COLOR_LIGHT_THEME */ hsl(210 100% 30%);
|
|
--color-success: hsl(105 100% 30%);
|
|
--color-error: hsl(0 100% 30%);
|
|
|
|
--display-light: none;
|
|
--display-dark: initial;
|
|
|
|
--hl-bg: #fff;
|
|
--hl-color: #24292e;
|
|
--hl-keyword: #d73a49;
|
|
--hl-title: #6f42c1;
|
|
--hl-attr: #005cc5;
|
|
--hl-string: #032f62;
|
|
--hl-built-in: #e36209;
|
|
--hl-comment: #6a737d;
|
|
--hl-tag: #22863a;
|
|
--hl-section: #005cc5;
|
|
--hl-bullet: #735c0f;
|
|
--hl-emphasis: #24292e;
|
|
--hl-addition-bg: #f0fff4;
|
|
--hl-addition-text: #22863a;
|
|
--hl-deletion-bg: #ffeef0;
|
|
--hl-deletion-text: #b31d28;
|
|
|
|
color-scheme: light;
|
|
}
|
|
}
|
|
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
line-height: 1.5;
|
|
font-family: system-ui;
|
|
background-color: var(--bg-primary);
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-block-size: 100vh;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
button,
|
|
label,
|
|
select,
|
|
[role="button"],
|
|
[role="option"],
|
|
label[for="toggle-mobile-preview"],
|
|
label[for="toggle-sidebar"],
|
|
label[for="toggle-theme"],
|
|
summary {
|
|
cursor: pointer;
|
|
}
|
|
|
|
input,
|
|
button,
|
|
textarea,
|
|
select,
|
|
a[role="button"],
|
|
label[for="toggle-mobile-preview"],
|
|
label[for="toggle-sidebar"],
|
|
label[for="toggle-theme"],
|
|
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"] {
|
|
max-inline-size: fit-content;
|
|
text-decoration: none;
|
|
}
|
|
|
|
summary {
|
|
max-inline-size: fit-content;
|
|
}
|
|
|
|
button,
|
|
a[role="button"],
|
|
label[for="toggle-mobile-preview"],
|
|
label[for="toggle-sidebar"],
|
|
label[for="toggle-theme"],
|
|
summary {
|
|
background-color: var(--bg-secondary);
|
|
}
|
|
|
|
label:has(svg) {
|
|
display: inline-grid;
|
|
place-content: center;
|
|
}
|
|
|
|
label[for="toggle-theme"] svg:first-of-type {
|
|
display: var(--display-light);
|
|
}
|
|
|
|
label[for="toggle-theme"] svg:last-of-type {
|
|
display: var(--display-dark);
|
|
}
|
|
|
|
:is(
|
|
button,
|
|
a[role="button"],
|
|
label[for="toggle-mobile-preview"],
|
|
label[for="toggle-sidebar"],
|
|
label[for="toggle-theme"],
|
|
summary
|
|
):hover {
|
|
background-color: var(--bg-tertiary);
|
|
}
|
|
|
|
:is(button, input, textarea, select, a, summary, pre):focus,
|
|
:is(#toggle-mobile-preview, #toggle-sidebar):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);
|
|
}
|
|
|
|
a:has(img) {
|
|
display: inline-block;
|
|
}
|
|
|
|
: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;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
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: 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: var(--space-2xs);
|
|
border: var(--border-primary);
|
|
}
|
|
|
|
ins {
|
|
background-color: var(--color-success);
|
|
color: var(--color-text-invert);
|
|
}
|
|
|
|
del {
|
|
background-color: var(--color-error);
|
|
color: var(--color-text-invert);
|
|
}
|
|
|
|
.hljs {
|
|
color: var(--hl-color);
|
|
background: var(--hl-bg);
|
|
}
|
|
|
|
.hljs-doctag,
|
|
.hljs-keyword,
|
|
.hljs-meta .hljs-keyword,
|
|
.hljs-template-tag,
|
|
.hljs-template-variable,
|
|
.hljs-type,
|
|
.hljs-variable.language_ {
|
|
color: var(--hl-keyword);
|
|
}
|
|
|
|
.hljs-title,
|
|
.hljs-title.class_,
|
|
.hljs-title.class_.inherited__,
|
|
.hljs-title.function_ {
|
|
color: var(--hl-title);
|
|
}
|
|
|
|
.hljs-attr,
|
|
.hljs-attribute,
|
|
.hljs-literal,
|
|
.hljs-meta,
|
|
.hljs-number,
|
|
.hljs-operator,
|
|
.hljs-selector-attr,
|
|
.hljs-selector-class,
|
|
.hljs-selector-id,
|
|
.hljs-variable {
|
|
color: var(--hl-attr);
|
|
}
|
|
|
|
.hljs-meta .hljs-string,
|
|
.hljs-regexp,
|
|
.hljs-string {
|
|
color: var(--hl-string);
|
|
}
|
|
|
|
.hljs-built_in,
|
|
.hljs-symbol {
|
|
color: var(--hl-built-in);
|
|
}
|
|
|
|
.hljs-code,
|
|
.hljs-comment,
|
|
.hljs-formula {
|
|
color: var(--hl-comment);
|
|
}
|
|
|
|
.hljs-name,
|
|
.hljs-quote,
|
|
.hljs-selector-pseudo,
|
|
.hljs-selector-tag {
|
|
color: var(--hl-tag);
|
|
}
|
|
|
|
.hljs-subst {
|
|
color: var(--hl-color);
|
|
}
|
|
|
|
.hljs-section {
|
|
color: var(--hl-section);
|
|
font-weight: bold;
|
|
}
|
|
|
|
.hljs-bullet {
|
|
color: var(--hl-bullet);
|
|
}
|
|
|
|
.hljs-emphasis {
|
|
color: var(--hl-emphasis);
|
|
font-style: italic;
|
|
}
|
|
|
|
.hljs-strong {
|
|
color: var(--hl-emphasis);
|
|
font-weight: bold;
|
|
}
|
|
|
|
.hljs-addition {
|
|
color: var(--hl-addition-text);
|
|
background-color: var(--hl-addition-bg);
|
|
}
|
|
|
|
.hljs-deletion {
|
|
color: var(--hl-deletion-text);
|
|
background-color: var(--hl-deletion-bg);
|
|
}
|