335 lines
8.3 KiB
CSS
335 lines
8.3 KiB
CSS
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap');
|
|
@import 'tailwindcss';
|
|
@import '@nuxt/ui';
|
|
|
|
@theme static {
|
|
--font-sans: 'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
|
|
--font-serif: 'Source Serif 4', ui-serif, Georgia, serif;
|
|
--font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
|
|
|
|
--color-ink-50: #fafafa;
|
|
--color-ink-100: #f2f2f2;
|
|
--color-ink-200: #e5e5e5;
|
|
--color-ink-300: #cccccc;
|
|
--color-ink-400: #999999;
|
|
--color-ink-500: #666666;
|
|
--color-ink-600: #444444;
|
|
--color-ink-700: #333333;
|
|
--color-ink-800: #222222;
|
|
--color-ink-900: #111111;
|
|
--color-ink-950: #0a0a0a;
|
|
|
|
--color-chalk-50: #fafafa;
|
|
--color-chalk-100: #f3f2f0;
|
|
--color-chalk-200: #e6e4e0;
|
|
--color-chalk-300: #cfccc7;
|
|
--color-chalk-400: #999999;
|
|
--color-chalk-450: #8a8783;
|
|
--color-chalk-500: #666666;
|
|
--color-chalk-600: #444444;
|
|
--color-chalk-700: #333333;
|
|
--color-chalk-800: #222222;
|
|
--color-chalk-850: #1a1a1a;
|
|
--color-chalk-900: #111111;
|
|
--color-chalk-950: #0a0a0a;
|
|
|
|
--color-sand-50: #f7f4ef;
|
|
--color-sand-100: #f0eae1;
|
|
--color-sand-200: #e8dfd1;
|
|
--color-sand-300: #d4c5b0;
|
|
--color-sand-400: #bba88e;
|
|
--color-sand-500: #9c8a70;
|
|
--color-sand-600: #7d6d56;
|
|
--color-sand-700: #635643;
|
|
--color-sand-800: #4a4033;
|
|
--color-sand-900: #322b23;
|
|
--color-sand-950: #211c17;
|
|
|
|
--color-moss-50: #f0faf0;
|
|
--color-moss-100: #e1f3e1;
|
|
--color-moss-200: #c7e2c7;
|
|
--color-moss-300: #a3caa3;
|
|
--color-moss-400: #7fac7f;
|
|
--color-moss-500: #5f8e60;
|
|
--color-moss-600: #457347;
|
|
--color-moss-700: #315b33;
|
|
--color-moss-800: #1f4422;
|
|
--color-moss-900: #143015;
|
|
--color-moss-950: #081e0a;
|
|
|
|
--color-slate-50: #f0f8ff;
|
|
--color-slate-100: #e2effa;
|
|
--color-slate-200: #c8dcee;
|
|
--color-slate-300: #a5c2db;
|
|
--color-slate-400: #81a3c0;
|
|
--color-slate-500: #6284a2;
|
|
--color-slate-600: #486a86;
|
|
--color-slate-700: #34536d;
|
|
--color-slate-800: #223d53;
|
|
--color-slate-900: #162b3c;
|
|
--color-slate-950: #0a1a26;
|
|
|
|
--color-ochre-50: #fff5e8;
|
|
--color-ochre-100: #fdead1;
|
|
--color-ochre-200: #f1d4ad;
|
|
--color-ochre-300: #dfb67d;
|
|
--color-ochre-400: #c4954f;
|
|
--color-ochre-500: #a67628;
|
|
--color-ochre-600: #8a5b00;
|
|
--color-ochre-700: #6c4700;
|
|
--color-ochre-800: #503400;
|
|
--color-ochre-900: #3a2400;
|
|
--color-ochre-950: #241500;
|
|
|
|
--color-brick-50: #fef4f2;
|
|
--color-brick-100: #ffe7e2;
|
|
--color-brick-200: #ffcbc2;
|
|
--color-brick-300: #fba394;
|
|
--color-brick-400: #e37e6e;
|
|
--color-brick-500: #c45d4e;
|
|
--color-brick-600: #a54134;
|
|
--color-brick-700: #882c21;
|
|
--color-brick-800: #6a1a11;
|
|
--color-brick-900: #4d0f08;
|
|
--color-brick-950: #330503;
|
|
|
|
--text-xs: 0.75rem;
|
|
--text-xs--line-height: 16px;
|
|
--text-sm: 0.8125rem;
|
|
--text-sm--line-height: 20px;
|
|
--text-base: 0.875rem;
|
|
--text-base--line-height: 22px;
|
|
--text-lg: 1rem;
|
|
--text-lg--line-height: 24px;
|
|
--text-xl: 1.25rem;
|
|
--text-xl--line-height: 28px;
|
|
--text-2xl: 1.75rem;
|
|
--text-2xl--line-height: 36px;
|
|
|
|
--breakpoint-xs: 22.5rem;
|
|
--breakpoint-sm: 40rem;
|
|
--breakpoint-md: 48rem;
|
|
--breakpoint-lg: 64rem;
|
|
--breakpoint-xl: 80rem;
|
|
|
|
--shadow-popover: 0 4px 16px rgb(17 17 17 / 0.08), 0 1px 2px rgb(17 17 17 / 0.06);
|
|
--shadow-modal: 0 16px 48px rgb(17 17 17 / 0.18);
|
|
|
|
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
--ease-enter: cubic-bezier(0, 0, 0, 1);
|
|
--ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
}
|
|
|
|
:root {
|
|
--ui-radius: 0rem;
|
|
--ui-header-height: 3rem;
|
|
--ui-container: 72rem;
|
|
--duration-fast: 120ms;
|
|
--duration-base: 180ms;
|
|
--duration-slow: 240ms;
|
|
--z-sticky: 10;
|
|
--z-sidebar: 20;
|
|
--z-banner: 30;
|
|
--z-popover: 40;
|
|
--z-overlay: 50;
|
|
--z-toast: 60;
|
|
--z-tooltip: 70;
|
|
--ui-bg: var(--color-white);
|
|
--ui-bg-muted: var(--color-chalk-50);
|
|
--ui-bg-elevated: var(--color-chalk-100);
|
|
--ui-bg-accented: var(--color-chalk-200);
|
|
--ui-bg-inverted: var(--color-chalk-900);
|
|
--ui-text-dimmed: var(--color-chalk-400);
|
|
--ui-text-muted: var(--color-chalk-500);
|
|
--ui-text-toned: var(--color-chalk-600);
|
|
--ui-text: var(--color-chalk-800);
|
|
--ui-text-highlighted: var(--color-chalk-900);
|
|
--ui-text-inverted: var(--color-white);
|
|
--ui-border: var(--color-chalk-200);
|
|
--ui-border-muted: var(--color-chalk-100);
|
|
--ui-border-accented: var(--color-chalk-450);
|
|
--ui-border-inverted: var(--color-chalk-900);
|
|
--ui-primary: var(--ui-color-primary-900);
|
|
--ui-secondary: var(--ui-color-secondary-700);
|
|
--ui-success: var(--ui-color-success-700);
|
|
--ui-info: var(--ui-color-info-700);
|
|
--ui-warning: var(--ui-color-warning-700);
|
|
--ui-error: var(--ui-color-error-700);
|
|
}
|
|
|
|
.dark {
|
|
--ui-bg: var(--color-chalk-900);
|
|
--ui-bg-muted: var(--color-chalk-950);
|
|
--ui-bg-elevated: var(--color-chalk-850);
|
|
--ui-bg-accented: var(--color-chalk-800);
|
|
--ui-bg-inverted: var(--color-chalk-50);
|
|
--ui-text-dimmed: var(--color-chalk-500);
|
|
--ui-text-muted: var(--color-chalk-400);
|
|
--ui-text-toned: var(--color-chalk-300);
|
|
--ui-text: var(--color-chalk-200);
|
|
--ui-text-highlighted: var(--color-chalk-50);
|
|
--ui-text-inverted: var(--color-chalk-900);
|
|
--ui-border: var(--color-chalk-700);
|
|
--ui-border-muted: var(--color-chalk-800);
|
|
--ui-border-accented: var(--color-chalk-500);
|
|
--ui-border-inverted: var(--color-chalk-50);
|
|
--ui-primary: var(--ui-color-primary-50);
|
|
--ui-secondary: var(--ui-color-secondary-300);
|
|
--ui-success: var(--ui-color-success-300);
|
|
--ui-info: var(--ui-color-info-300);
|
|
--ui-warning: var(--ui-color-warning-300);
|
|
--ui-error: var(--ui-color-error-300);
|
|
--shadow-popover: 0 4px 16px rgb(0 0 0 / 0.5);
|
|
--shadow-modal: 0 16px 48px rgb(0 0 0 / 0.6);
|
|
}
|
|
|
|
body {
|
|
background: var(--ui-bg-muted);
|
|
color: var(--ui-text);
|
|
font-family: var(--font-sans);
|
|
font-size: var(--text-sm);
|
|
line-height: var(--text-sm--line-height);
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
.article-content {
|
|
font-family: var(--font-serif);
|
|
font-size: 1.0625rem;
|
|
line-height: 1.75rem;
|
|
color: var(--ui-text-highlighted);
|
|
max-width: 42rem;
|
|
overflow-wrap: break-word;
|
|
}
|
|
.article-content > :first-child {
|
|
margin-top: 0;
|
|
}
|
|
.article-content h1,
|
|
.article-content h2,
|
|
.article-content h3,
|
|
.article-content h4 {
|
|
font-weight: 600;
|
|
text-wrap: balance;
|
|
color: var(--ui-text-highlighted);
|
|
}
|
|
.article-content h1 {
|
|
font-size: 1.75rem;
|
|
line-height: 2.25rem;
|
|
margin: 0 0 1rem;
|
|
}
|
|
.article-content h2 {
|
|
font-size: 1.4375rem;
|
|
line-height: 1.9375rem;
|
|
margin: 2.5rem 0 0.75rem;
|
|
}
|
|
.article-content h3 {
|
|
font-size: 1.1875rem;
|
|
line-height: 1.75rem;
|
|
margin: 2rem 0 0.5rem;
|
|
}
|
|
.article-content h4 {
|
|
font-size: 1.0625rem;
|
|
line-height: 1.625rem;
|
|
margin: 1.5rem 0 0.5rem;
|
|
}
|
|
.article-content p {
|
|
font-size: 1.0625rem;
|
|
line-height: 1.75rem;
|
|
margin: 0 0 1.25rem;
|
|
}
|
|
.article-content ul,
|
|
.article-content ol {
|
|
margin: 0 0 1.25rem;
|
|
padding-left: 1.75rem;
|
|
}
|
|
.article-content ul {
|
|
list-style: square;
|
|
}
|
|
.article-content ol {
|
|
list-style: decimal;
|
|
}
|
|
.article-content li {
|
|
margin: 0 0 0.375rem;
|
|
}
|
|
.article-content li::marker {
|
|
color: var(--ui-text-muted);
|
|
}
|
|
.article-content blockquote {
|
|
margin: 1.75rem 0;
|
|
padding-left: 1.25rem;
|
|
border-left: 2px solid var(--ui-primary);
|
|
font-style: italic;
|
|
color: var(--ui-text-toned);
|
|
}
|
|
.article-content a {
|
|
color: var(--ui-text-highlighted);
|
|
text-decoration: underline;
|
|
text-decoration-thickness: 1px;
|
|
text-underline-offset: 3px;
|
|
}
|
|
.article-content a:hover {
|
|
text-decoration-thickness: 2px;
|
|
}
|
|
.article-content img {
|
|
display: block;
|
|
max-width: 100%;
|
|
height: auto;
|
|
margin: 1.75rem 0;
|
|
}
|
|
.article-content figure {
|
|
margin: 1.75rem 0;
|
|
}
|
|
.article-content figure img {
|
|
margin: 0;
|
|
}
|
|
.article-content figcaption {
|
|
margin-top: 0.5rem;
|
|
font-family: var(--font-sans);
|
|
font-size: 0.8125rem;
|
|
line-height: 1.25rem;
|
|
color: var(--ui-text-muted);
|
|
}
|
|
@media (min-width: 48rem) {
|
|
.article-content h1 {
|
|
font-size: 2rem;
|
|
line-height: 2.5rem;
|
|
}
|
|
.article-content h2 {
|
|
font-size: 1.625rem;
|
|
line-height: 2.125rem;
|
|
}
|
|
.article-content h3 {
|
|
font-size: 1.3125rem;
|
|
line-height: 1.875rem;
|
|
}
|
|
.article-content h4 {
|
|
font-size: 1.125rem;
|
|
line-height: 1.75rem;
|
|
}
|
|
.article-content p {
|
|
font-size: 1.125rem;
|
|
line-height: 1.875rem;
|
|
}
|
|
.article-content {
|
|
font-size: 1.125rem;
|
|
line-height: 1.875rem;
|
|
}
|
|
.article-content figcaption {
|
|
font-size: 0.875rem;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*,
|
|
::before,
|
|
::after {
|
|
animation-duration: 0.01ms !important;
|
|
animation-iteration-count: 1 !important;
|
|
transition-duration: 0.01ms !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
.animate-spin {
|
|
animation-duration: 1.6s !important;
|
|
animation-iteration-count: infinite !important;
|
|
}
|
|
}
|