design/styleguide/assets/style/base.css
2025-03-06 02:55:13 +01:00

648 lines
20 KiB
CSS

:root {
--color-neutral-50: #f2f0f5;
--color-neutral-100: #d1c6e0;
--color-neutral-200: #b2a0cb;
--color-neutral-300: #957eb5;
--color-neutral-400: #7a60a0;
--color-neutral-500: #61468b;
--color-neutral-600: #4b3176;
--color-neutral-700: #371f60;
--color-neutral-800: #26114b;
--color-neutral-900: #180736;
--color-neutral-950: #0c011f;
--color-argon-50: #e1abc9;
--color-argon-100: #da87b5;
--color-argon-200: #d464a1;
--color-argon-300: #cd448f;
--color-argon-400: #c6257d;
--color-argon-500: #b0166f;
--color-argon-600: #9a0a61;
--color-argon-700: #830755;
--color-argon-800: #6d0449;
--color-argon-900: #56023c;
--color-argon-950: #3f012d;
--color-krypton-50: #b2d9ea;
--color-krypton-100: #8cc9e4;
--color-krypton-200: #69bade;
--color-krypton-300: #4badd8;
--color-krypton-400: #2493c2;
--color-krypton-500: #167fac;
--color-krypton-600: #0a6c96;
--color-krypton-700: #075c81;
--color-krypton-800: #044c6b;
--color-krypton-900: #023c55;
--color-krypton-950: #012c3f;
--color-green-50: #c0f49a;
--color-green-100: #a7e57a;
--color-green-200: #8fd75d;
--color-green-300: #7ac843;
--color-green-400: #66b92d;
--color-green-500: #54aa18;
--color-green-600: #47990f;
--color-green-700: #397e0a;
--color-green-800: #2b6206;
--color-green-900: #1f4703;
--color-green-950: #122b01;
--color-red-50: #e6afaf;
--color-red-100: #dd9090;
--color-red-200: #d57272;
--color-red-300: #cc5757;
--color-red-400: #c33d3d;
--color-red-500: #bb2626;
--color-red-600: #b21010;
--color-red-700: #950808;
--color-red-800: #780404;
--color-red-900: #5c0202;
--color-red-950: #3f0101;
--color-white: #ffffff;
--color-dark-foreground: var(--color-neutral-50);
--color-dark-background: var(--color-neutral-950);
--color-dark-shade-1: var(--color-neutral-900);
--color-dark-shade-2: var(--color-neutral-800);
--color-dark-shade-3: var(--color-neutral-700);
--color-dark-shade-4: var(--color-neutral-600);
--color-dark-text-1: var(--color-neutral-200);
--color-dark-text-2: var(--color-neutral-300);
--color-dark-text-3: var(--color-neutral-400);
--color-dark-text-4: var(--color-neutral-500);
--color-dark-primary: var(--color-argon-400);
--color-dark-secondary: var(--color-krypton-300);
--color-dark-error: var(--color-red-500);
--color-dark-success: var(--color-green-500);
--color-dark-accent-1: #60a5f9;
--color-dark-accent-2: #d381f7;
--color-dark-accent-3: #ff7975;
--color-light-foreground: var(--color-neutral-950);
--color-light-background: var(--color-neutral-50);
--color-light-shade-1: var(--color-neutral-100);
--color-light-shade-2: var(--color-neutral-200);
--color-light-shade-3: var(--color-neutral-300);
--color-light-shade-4: var(--color-neutral-400);
--color-light-text-1: var(--color-neutral-800);
--color-light-text-2: var(--color-neutral-700);
--color-light-text-3: var(--color-neutral-600);
--color-light-text-4: var(--color-neutral-500);
--color-light-primary: var(--color-argon-600);
--color-light-secondary: var(--color-krypton-500);
--color-light-error: var(--color-red-600);
--color-light-success: var(--color-green-600);
--color-light-accent-1: #303ec0;
--color-light-accent-2: #6c366c;
--color-light-accent-3: #932f0a;
--color-cmyk-primary: var(--color-dark-primary);
--color-cmyk-secondary: var(--color-dark-secondary);
--line-height-loose: 1.4;
--line-height-relaxed: 1.3;
--line-height-base: 1.2;
--line-height-snug: 1.1;
--line-height-tight: 1;
--text-xs: 0.75rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
--text-2xl: 1.5rem;
--text-3xl: 1.875rem;
--text-4xl: 2.25rem;
--text-5xl: 3rem;
--text-6xl: 3.75rem;
--text-7xl: 4.5rem;
--container-3xs: 16rem;
--container-2xs: 18rem;
--container-xs: 20rem;
--container-sm: 24rem;
--container-md: 28rem;
--container-lg: 32rem;
--container-xl: 36rem;
--container-2xl: 42rem;
--container-3xl: 48rem;
--container-4xl: 56rem;
--container-5xl: 64rem;
--container-6xl: 72rem;
--container-7xl: 80rem;
}
.dark {
--color-foreground: var(--color-dark-foreground);
--color-background: var(--color-dark-background);
--color-shade-1: var(--color-dark-shade-1);
--color-shade-2: var(--color-dark-shade-2);
--color-shade-3: var(--color-dark-shade-3);
--color-shade-4: var(--color-dark-shade-4);
--color-text-1: var(--color-dark-text-1);
--color-text-2: var(--color-dark-text-2);
--color-text-3: var(--color-dark-text-3);
--color-text-4: var(--color-dark-text-4);
--color-primary: var(--color-dark-primary);
--color-secondary: var(--color-dark-secondary);
--color-error: var(--color-dark-error);
--color-success: var(--color-dark-success);
--color-accent-1: var(--color-dark-accent-1);
--color-accent-2: var(--color-dark-accent-2);
--color-accent-3: var(--color-dark-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-primary))
drop-shadow(0 0 0.25em var(--color-primary));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-secondary))
drop-shadow(0 0 0.25em var(--color-secondary));
--color-glow-primary: var(--color-white);
--color-glow-secondary: var(--color-white);
--transition-glow:
filter 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms,
border-color 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-primary))
drop-shadow(0 0 0.125em var(--color-primary));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-secondary))
drop-shadow(0 0 0.125em var(--color-secondary));
}
.dark .light-only {
display: none;
}
.dark .dark-only {
display: initial;
}
.light {
--color-foreground: var(--color-light-foreground);
--color-background: var(--color-light-background);
--color-shade-1: var(--color-light-shade-1);
--color-shade-2: var(--color-light-shade-2);
--color-shade-3: var(--color-light-shade-3);
--color-shade-4: var(--color-light-shade-4);
--color-text-1: var(--color-light-text-1);
--color-text-2: var(--color-light-text-2);
--color-text-3: var(--color-light-text-3);
--color-text-4: var(--color-light-text-4);
--color-primary: var(--color-light-primary);
--color-secondary: var(--color-light-secondary);
--color-error: var(--color-light-error);
--color-success: var(--color-light-success);
--color-accent-1: var(--color-light-accent-1);
--color-accent-2: var(--color-light-accent-2);
--color-accent-3: var(--color-light-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-argon-950));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-krypton-950));
--color-glow-primary: var(--color-argon-800);
--color-glow-secondary: var(--color-krypton-800);
--transition-glow:
filter 150ms cubic-bezier(0, 2, 1, -0.7) 50ms,
border-color 150ms cubic-bezier(0, 2, 1, -0.7) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-argon-950));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-krypton-950));
}
.light .light-only {
display: initial;
}
.light .dark-only {
display: none;
}
@media (prefers-color-scheme: dark) {
html {
--color-foreground: var(--color-dark-foreground);
--color-background: var(--color-dark-background);
--color-shade-1: var(--color-dark-shade-1);
--color-shade-2: var(--color-dark-shade-2);
--color-shade-3: var(--color-dark-shade-3);
--color-shade-4: var(--color-dark-shade-4);
--color-text-1: var(--color-dark-text-1);
--color-text-2: var(--color-dark-text-2);
--color-text-3: var(--color-dark-text-3);
--color-text-4: var(--color-dark-text-4);
--color-primary: var(--color-dark-primary);
--color-secondary: var(--color-dark-secondary);
--color-error: var(--color-dark-error);
--color-success: var(--color-dark-success);
--color-accent-1: var(--color-dark-accent-1);
--color-accent-2: var(--color-dark-accent-2);
--color-accent-3: var(--color-dark-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-primary))
drop-shadow(0 0 0.25em var(--color-primary));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-secondary))
drop-shadow(0 0 0.25em var(--color-secondary));
--color-glow-primary: var(--color-white);
--color-glow-secondary: var(--color-white);
--transition-glow:
filter 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms,
border-color 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-primary))
drop-shadow(0 0 0.125em var(--color-primary));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-secondary))
drop-shadow(0 0 0.125em var(--color-secondary));
}
html .light-only {
display: none;
}
html .dark-only {
display: initial;
}
html:has(#themeLight:checked) {
--color-foreground: var(--color-light-foreground);
--color-background: var(--color-light-background);
--color-shade-1: var(--color-light-shade-1);
--color-shade-2: var(--color-light-shade-2);
--color-shade-3: var(--color-light-shade-3);
--color-shade-4: var(--color-light-shade-4);
--color-text-1: var(--color-light-text-1);
--color-text-2: var(--color-light-text-2);
--color-text-3: var(--color-light-text-3);
--color-text-4: var(--color-light-text-4);
--color-primary: var(--color-light-primary);
--color-secondary: var(--color-light-secondary);
--color-error: var(--color-light-error);
--color-success: var(--color-light-success);
--color-accent-1: var(--color-light-accent-1);
--color-accent-2: var(--color-light-accent-2);
--color-accent-3: var(--color-light-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-argon-950));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-krypton-950));
--color-glow-primary: var(--color-argon-800);
--color-glow-secondary: var(--color-krypton-800);
--transition-glow:
filter 150ms cubic-bezier(0, 2, 1, -0.7) 50ms,
border-color 150ms cubic-bezier(0, 2, 1, -0.7) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-argon-950));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-krypton-950));
}
html:has(#themeLight:checked) .light-only {
display: initial;
}
html:has(#themeLight:checked) .dark-only {
display: none;
}
#themeToggleDark {
display: none;
}
}
@media (prefers-color-scheme: light) {
html {
--color-foreground: var(--color-light-foreground);
--color-background: var(--color-light-background);
--color-shade-1: var(--color-light-shade-1);
--color-shade-2: var(--color-light-shade-2);
--color-shade-3: var(--color-light-shade-3);
--color-shade-4: var(--color-light-shade-4);
--color-text-1: var(--color-light-text-1);
--color-text-2: var(--color-light-text-2);
--color-text-3: var(--color-light-text-3);
--color-text-4: var(--color-light-text-4);
--color-primary: var(--color-light-primary);
--color-secondary: var(--color-light-secondary);
--color-error: var(--color-light-error);
--color-success: var(--color-light-success);
--color-accent-1: var(--color-light-accent-1);
--color-accent-2: var(--color-light-accent-2);
--color-accent-3: var(--color-light-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-argon-950));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-krypton-950));
--color-glow-primary: var(--color-argon-800);
--color-glow-secondary: var(--color-krypton-800);
--transition-glow:
filter 150ms cubic-bezier(0, 2, 1, -0.7) 50ms,
border-color 150ms cubic-bezier(0, 2, 1, -0.7) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-argon-950));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-krypton-950));
}
html .light-only {
display: initial;
}
html .dark-only {
display: none;
}
html:has(#themeDark:checked) {
--color-foreground: var(--color-dark-foreground);
--color-background: var(--color-dark-background);
--color-shade-1: var(--color-dark-shade-1);
--color-shade-2: var(--color-dark-shade-2);
--color-shade-3: var(--color-dark-shade-3);
--color-shade-4: var(--color-dark-shade-4);
--color-text-1: var(--color-dark-text-1);
--color-text-2: var(--color-dark-text-2);
--color-text-3: var(--color-dark-text-3);
--color-text-4: var(--color-dark-text-4);
--color-primary: var(--color-dark-primary);
--color-secondary: var(--color-dark-secondary);
--color-error: var(--color-dark-error);
--color-success: var(--color-dark-success);
--color-accent-1: var(--color-dark-accent-1);
--color-accent-2: var(--color-dark-accent-2);
--color-accent-3: var(--color-dark-accent-3);
--filter-glow-primary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-primary))
drop-shadow(0 0 0.25em var(--color-primary));
--filter-glow-secondary: drop-shadow(0 0 0.0625em var(--color-white))
drop-shadow(0 0 0.125em var(--color-secondary))
drop-shadow(0 0 0.25em var(--color-secondary));
--color-glow-primary: var(--color-white);
--color-glow-secondary: var(--color-white);
--transition-glow:
filter 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms,
border-color 150ms cubic-bezier(0, 1.7, 1, -0.3) 50ms;
--text-glow-primary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-primary))
drop-shadow(0 0 0.125em var(--color-primary));
--text-glow-secondary: drop-shadow(0 0 0.03125em var(--color-white))
drop-shadow(0 0 0.0625em var(--color-secondary))
drop-shadow(0 0 0.125em var(--color-secondary));
}
html:has(#themeDark:checked) .light-only {
display: none;
}
html:has(#themeDark:checked) .dark-only {
display: initial;
}
#themeToggleLight {
display: none;
}
}
@font-face {
font-family: "Athiti";
font-weight: 700;
src: url("../font/athiti/Athiti-Bold.woff2") format("woff2");
}
@font-face {
font-family: "Athiti";
font-weight: 600;
src: url("../font/athiti/Athiti-SemiBold.woff2") format("woff2");
}
@font-face {
font-family: "Athiti";
font-weight: 500;
src: url("../font/athiti/Athiti-Medium.woff2") format("woff2");
}
@font-face {
font-family: "Athiti";
font-weight: 400;
src: url("../font/athiti/Athiti-Regular.woff2") format("woff2");
}
@font-face {
font-family: "Athiti";
font-weight: 300;
src: url("../font/athiti/Athiti-Light.woff2") format("woff2");
}
@font-face {
font-family: "Athiti";
font-weight: 200;
src: url("../font/athiti/Athiti-ExtraLight.woff2") format("woff2");
}
@font-face {
font-family: "Departure Mono";
src: url("../font/departuremono/DepartureMono-Regular.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 100;
src: url("../font/argonglow/ArgonGlow-Thin.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 200;
src: url("../font/argonglow/ArgonGlow-ExtraLight.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 300;
src: url("../font/argonglow/ArgonGlow-Light.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 400;
src: url("../font/argonglow/ArgonGlow-Regular.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 500;
src: url("../font/argonglow/ArgonGlow-Medium.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 600;
src: url("../font/argonglow/ArgonGlow-SemiBold.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
font-weight: 700;
src: url("../font/argonglow/ArgonGlow-Bold.woff2") format("woff2");
}
@font-face {
font-family: "Argon Glow";
src: url("../font/argonglow/ArgonGlow-VariableVF.woff2") format("woff2");
font-weight: 100 900;
}
:root {
font-size: 1rem;
}
body {
background-color: var(--color-background);
color: var(--color-foreground);
font-family: "Athiti", ui-sans, sans-serif;
line-height: var(--line-height-base);
}
.main-title,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
font-family: "Argon Glow", ui-sans, sans-serif;
font-weight: 400;
margin: 1rem 0;
}
.main-title {
font-size: var(--text-7xl);
line-height: var(--line-height-base);
}
h1,
.h1 {
font-size: var(--text-5xl);
line-height: var(--line-height-base);
}
h2,
.h2 {
font-size: var(--text-4xl);
line-height: var(--line-height-base);
}
h3,
.h3 {
font-size: var(--text-3xl);
line-height: var(--line-height-base);
}
h4,
.h4 {
font-size: var(--text-2xl);
line-height: var(--line-height-loose);
}
h5,
.h5 {
font-size: var(--text-xl);
line-height: var(--line-height-loose);
}
h6,
.h6 {
font-size: var(--text-lg);
line-height: var(--line-height-loose);
}
pre {
font-family: "Departure Mono", ui-monospace, monospace;
font-size: 0.8em;
display: block;
padding: 1rem;
border-radius: 1rem;
border: solid 0.3em var(--color-shade-2);
}
pre code {
background-color: initial;
border: initial;
border-radius: initial;
padding: initial;
font-size: inherit;
}
code,
.code {
font-family: "Departure Mono", ui-monospace, monospace;
font-size: 0.8em;
border: solid 0.15em var(--color-shade-2);
border-radius: 0.2em;
padding: 0 0.2em;
}
pre span.comment,
code span.comment,
.code span.comment {
color: var(--color-text-4);
font-style: italic;
}
pre span.neutral,
code span.neutral,
.code span.neutral {
color: var(--color-text-2);
}
pre span.identifier,
code span.identifier,
.code span.identifier {
color: var(--color-primary);
}
pre span.function,
code span.function,
.code span.function {
color: var(--color-accent-1);
font-style: italic;
}
pre span.keyword,
code span.keyword,
.code span.keyword {
color: var(--color-accent-2);
}
pre span.number,
code span.number,
.code span.number {
color: var(--color-accent-3);
}
pre span.string,
code span.string,
.code span.string {
color: var(--color-accent-3);
font-style: italic;
}
table {
width: fit-content;
border-collapse: collapse;
}
table th,
table td {
padding: 0.25rem 0.5rem;
border: solid 0.1em var(--color-shade-4);
}
table tr th {
text-align: left;
background-color: var(--color-shade-1);
}
table thead {
position: sticky;
top: 4rem;
z-index: 10;
}
@media (min-width: 48rem) {
table thead {
top: 0;
}
}
table thead tr > th {
outline-width: 0.1em;
outline-style: solid;
outline-offset: -0.05em;
outline-color: var(--color-shade-4);
}
table.row-hover tbody tr:hover th {
background-color: var(--color-shade-3);
}
table.row-hover tbody tr:hover td {
background-color: var(--color-shade-2);
}
a {
color: var(--color-accent-1);
text-decoration: underline;
}
a:hover, a:active, a:focus {
color: var(--color-accent-3);
text-decoration: none;
}
a:visited {
color: var(--color-accent-2);
text-decoration: underline;
}
a:visited:hover, a:visited:active, a:visited:focus {
color: var(--color-accent-3);
text-decoration: none;
}
figure {
display: flex;
flex-direction: column;
align-items: center;
}
figure img {
width: 100%;
max-height: 30vh;
object-fit: contain;
object-position: center;
}
img {
width: 80%;
max-height: 30vh;
object-fit: contain;
object-position: center;
margin: 0 auto;
}
/*# sourceMappingURL=base.css.map */