:root { /* Fonts */ --font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji; --font-family-base: 'Rubik', var(--font-fallback); --font-color: var(--color-black); --font-color-gray: var(--color-gray-500); --font-color-grayer: var(--color-gray-700); --font-size-xs: 0.75rem; --font-size-sm: 0.875rem; --font-size-md: 1rem; --font-size-lg: 1.125rem; --font-size-xl: 1.25rem; --font-size-2xl: 1.5rem; --font-size-3xl: 1.875rem; --font-size-4xl: 2.25rem; --font-size-5xl: 3rem; --font-size-6xl: 3.75rem; --font-size-7xl: 4.5rem; --font-size-8xl: 6rem; --font-size-9xl: 8rem; /* Line heights */ --line-height-normal: 'normal'; --line-height-none: 1; --line-height-shorter: 1.25; --line-height-short: 1.375; --line-height-base: 1.5; --line-height-tall: 1.625; /* Colors */ --color-white: #ffffff; --color-black: #010409; --color-blue-50: #cae8ff; --color-blue-100: #a5d6ff; --color-blue-200: #79c0ff; --color-blue-300: #58a6ff; --color-blue-400: #388bfd; --color-blue-500: #1f6feb; --color-blue-600: #1158c7; --color-blue-700: #0d419d; --color-blue-800: #0c2d6b; --color-blue-900: #051d4d; --color-gray-50: #f0f6fc; --color-gray-100: #c9d1d9; --color-gray-200: #b1bac4; --color-gray-300: #8b949e; --color-gray-400: #6e7681; --color-gray-500: #484f58; --color-gray-600: #30363d; --color-gray-700: #21262d; --color-gray-800: #161b22; --color-gray-900: #0d1117; --color-orange-50: #ffdfb6; --color-orange-100: #ffc680; --color-orange-200: #ffa657; --color-orange-300: #f0883e; --color-orange-400: #db6d28; --color-orange-500: #bd561d; --color-orange-600: #9b4215; --color-orange-700: #762d0a; --color-orange-800: #5a1e02; --color-orange-900: #3d1300; --color-yellow-50: #f8e3a1; --color-yellow-100: #f2cc60; --color-yellow-200: #e3b341; --color-yellow-300: #d29922; --color-yellow-400: #bb8009; --color-yellow-500: #9e6a03; --color-yellow-600: #845306; --color-yellow-700: #693e00; --color-yellow-800: #4b2900; --color-yellow-900: #341a00; --background-color-hover: var(--color-gray-50); /* Border */ --border-color: var(--color-gray-100); --border-color-hover: var(--color-gray-400); --border-radius-md: 3px; --border-radius-lg: 5px; /* Sizes */ --content-width: 760px; --content-padding: 15px; /* Elements */ --background-body-color: var(--color-white); --background-header-color: var(--color-white); --background-scrollbar-track-color: #eff1f5; --background-scrollbar-thumb-color: var(--color-gray-100); --background-inline-code: rgba(0, 0, 0, 0.05); --opacity-hover: 0.7; } /* Text selection */ ::selection { background: var(--color-yellow-100); color: var(--color-black); } /* Scrollbar */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: var(--background-scrollbar-track-color); } ::-webkit-scrollbar-thumb { background: var(--background-scrollbar-thumb-color); } html, body { box-sizing: border-box; display: flex; flex-direction: column; min-height: 100vh; } body[data-is-mobile-open='true'] { overflow-y: hidden; } *, *:before, *:after { box-sizing: inherit; } html { font-size: 16px; font-weight: normal; font-kerning: normal; font-family: var(--font-family-base); } body { margin: 0; padding: 0; color: var(--font-color); background-color: var(--background-body-color); } .container { max-width: var(--content-width); margin: 0 auto; padding: 0 var(--content-padding); } .list-links { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; } /* Buttons */ .btn-link { cursor: pointer; display: inline-flex; align-items: center; column-gap: 5px; padding: 3px 10px; border-radius: var(--border-radius-md); border: 1px solid var(--border-color); text-decoration: none; color: var(--font-color); font-size: var(--font-size-sm); font-weight: 400; &:hover { text-decoration: none; color: inherit; border-color: var(--border-color-hover); } } .article-content { & p, & em, & q { line-height: var(--line-height-base); font-size: var(--font-size-lg); } & ul { padding-left: 1.5rem; line-height: var(--line-height-base); margin-bottom: 1.5rem; margin-top: 0; & li { font-size: var(--font-size-lg); line-height: var(--line-height-base); margin-bottom: 0.5rem; padding-left: 0.25rem; } } & q { font-style: italic; quotes: '«' '»'; } & h1, & h2, & h3, & h4 { margin-top: 3rem; margin-bottom: 1rem; padding-bottom: 0.35rem; } & h1:not(:first-child), & h2:not(:first-child), & h3:not(:first-child), & h4:not(:first-child) { margin-top: 3rem; } & h2 { font-size: var(--font-size-3xl); border-bottom: 1px solid var(--border-color); } & h3 { font-size: var(--font-size-2xl); } & h4 { font-size: var(--font-size-xl); } & a { color: var(--color-blue-500); text-underline-offset: 2.5px; text-decoration-color: var(--color-blue-500); font-weight: 500; &:hover { color: var(--color-blue-500); text-decoration-thickness: 2px; } } & figure { margin: 0 0 1em; } & figcaption { font-style: italic; font-size: 1em; text-align: center; margin: 0.7rem 0; } & img { display: block; border-radius: var(--border-radius-md); max-width: 100%; margin: 0 auto; } } li::marker { color: var(--color-blue-500); font-size: 1.3rem; line-height: var(--line-height-none); } p { margin-top: 0; margin-bottom: 1.5rem; } hr { background-color: var(--border-color); margin: 40px 0; border: none; height: 1px; } h1, h2, h3, h4, h5 { margin-top: 0; margin-bottom: 1.5rem; } input, textarea { font-family: var(--font-family-base); padding: 8px 15px; border: 1px solid var(--border-color); border-radius: var(--border-radius-md); font-size: var(--font-size-sm); width: 100%; outline-color: var(--color-blue-500); resize: vertical; } button { cursor: pointer; font-family: var(--font-family-base); font-weight: 500; font-size: var(--font-size-sm); padding: 4px 15px; border: 1px solid var(--border-color); border-radius: var(--border-radius-md); background: none; &:hover { border: 1px solid var(--border-color-hover); } } textarea { max-height: 500px; min-height: 200px; } blockquote { margin: 1.5rem 0; font-style: italic; border-left: 0.25rem solid var(--border-color); padding-left: 1rem; } :not(pre) > code { -webkit-font-smoothing: subpixel-antialiased; background: var(--background-inline-code); border-radius: var(--border-radius-lg); font-size: 1rem; font-weight: 500; padding: 0.2rem 0.3rem; } pre { font-size: var(--font-size-sm); border-radius: var(--border-radius-md); } a { color: var(--color-blue-500); font-weight: 500; text-decoration: none; &:hover { text-decoration: underline; color: var(--color-blue-500); } } // pre[class*=language-]:before { // color: #232129; // font-size: .75rem; // font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; // letter-spacing: .075em; // line-height: 1; // position: absolute; // left: 1.5rem; // text-align: right; // text-transform: uppercase; // top: 0; // border-radius: 0 0 4px 4px; // padding: 0.25rem 0.5rem; // } // pre[class*=language-typescript]:before { // content: "ts"; // background: #007acc; // color: #eee; // }