hypnagaga_old/src/assets/css/global/base/global-styles.css
2024-08-24 10:31:47 +02:00

138 lines
2.1 KiB
CSS

/*
Global styles
Low-specificity, global styles that apply to the whole
project: https://cube.fyi/css.html
*/
/* Base styles */
html {
color-scheme: light dark;
}
body {
display: flex;
flex-direction: column;
font-family: var(--font-base);
font-size: var(--size-step-0);
font-weight: var(--font-regular);
font-size-adjust: from-font;
line-height: var(--leading-standard);
color: var(--color-text);
background-color: var(--color-bg);
accent-color: var(--color-primary);
letter-spacing: var(--tracking);
}
main {
flex: auto;
}
/* Typography */
h1,
h2,
h3 {
font-family: var(--font-display);
font-weight: var(--font-extra-bold);
line-height: 1.2;
letter-spacing: var(--tracking-s);
}
h1 {
font-size: var(--size-step-6);
}
h2 {
font-size: var(--size-step-4);
}
h3 {
font-size: var(--size-step-2);
}
/* Text formatting */
p,
li,
blockquote:not([class]) {
max-inline-size: 65ch;
}
blockquote {
padding: var(--space-m-l);
border-inline-start: 0.5rem solid var(--color-primary);
font-size: var(--size-step-2);
}
blockquote > * + * {
margin-block-start: var(--space-m-l);
}
blockquote :last-child {
font-family: var(--font-base);
font-style: normal;
font-size: var(--size-step-1);
}
/* Form elements */
input,
textarea {
caret-color: var(--color-primary);
}
/* SVG */
svg {
block-size: 2ex;
inline-size: auto;
flex: none;
}
/* Text styling */
b,
strong {
font-weight: var(--font-extra-bold);
font-family: var(--font-display);
}
/* Horizontal rule */
hr {
height: 1px;
width: 10%;
margin-block: var(--space-m-l);
margin-inline-start: 0;
background-color: var(--color-bg-accent-2);
border: 0;
}
/* Links */
a {
color: currentcolor;
text-decoration-thickness: 0.08em;
}
a:hover {
text-decoration: none;
}
/* Focus styles */
:focus-visible {
outline: 3px solid;
outline-offset: 0.3ch;
}
/* Text selection */
::selection {
background-color: var(--color-text);
color: var(--color-bg);
}
/* Transitions */
.preload-transitions * {
transition: none !important;
}
/* Scripting */
@media (scripting: none) {
.require-js {
display: none;
}
}