Spectrum/styles/normal.css

497 lines
11 KiB
CSS
Raw Normal View History

2024-01-03 07:55:27 +00:00
/* Import the true normalize.css library for consistency across browsers */
@import url("https://necolas.github.io/normalize.css/8.0.1/normalize.css");
/* Document form */
:root {
/* The defining em-size of the document, in rem. */
--base-scale: 1rem;
/* The width of the document, in em. */
--document-width: 50em;
/* The basic color of the page, used for all values below. You can use this for a quick, single-color theme. */
--base-color: 0, 0%;
/* The font used in the document. */
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";
/* The weight of the font used in the document. */
--font-weight: normal;
/* The font used for headers in the document. */
--header-font-family: var(--font-family);
/* The weight of the font used for headers in the document. */
--header-font-weight: bold;
/* The underlay color of the document. */
--underlay-color: hsl(var(--base-color), 10%);
/* The page color. */
--background-color: hsl(var(--base-color), 15%);
/* The foreground color of the page. */
--color: hsl(var(--base-color), 85%);
/* The accent color of the page. */
--accent-color: hsl(var(--base-color), 30%);
/* The background-adjacent accent color of the page. */
--accent-color-bg: hsl(var(--base-color), 75%);
/* The foreground accent color of the page. */
--accent-color-fg: hsl(var(--base-color), 95%);
/* The width of the borders used on certain elements. */
--border-width: calc(1em / 16);
/* The style of the borders used on certain elements. */
--border-style: solid;
/* The color of the borders used on certain elements. */
--border-color: var(--color);
/* The radius of the borders used on certain elements. */
--border-radius: 0;
}
@media (prefers-color-scheme: light) {
:root {
/* The underlay color of the document. */
--underlay-color: hsl(var(--base-color), 90%);
/* The page color. */
--background-color: hsl(var(--base-color), 80%);
/* The foreground color of the page. */
--color: hsl(var(--base-color), 15%);
/* The accent color of the page. */
--accent-color: hsl(var(--base-color), 70%);
/* The background-adjacent accent color of the page. */
--accent-color-bg: hsl(var(--base-color), 25%);
/* The foreground accent color of the page. */
--accent-color-fg: hsl(var(--base-color), 5%);
/* The color of the borders used on certain elements. */
--border-color: var(--color);
}
}
html.base {
/* --base-color: 0, 0% !important; */
/* --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol" !important;
--font-weight: normal !important;
--header-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol" !important;
--header-font-weight: bold !important; */
--underlay-color: #fff !important;
--background-color: transparent !important;
--color: #000 !important;
--accent-color: #c0c0c0 !important;
--accent-color-bg: #000 !important;
--accent-color-fg: #000 !important;
--border-width: calc(1em / 16) !important;
--border-style: solid !important;
--border-color: var(--color) !important;
--border-radius: 0 !important;
}
@media (prefers-color-scheme: dark) {
html.base {
--underlay-color: #000 !important;
--background-color: transparent !important;
--color: #fff !important;
--accent-color: #404040 !important;
--accent-color-bg: #fff !important;
--accent-color-fg: #fff !important;
--border-color: var(--color);
}
}
@media (forced-colors: active) {
:root {
/* --base-color: 0, 0% !important; */
/* --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol" !important;
--font-weight: normal !important;
--header-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol" !important;
--header-font-weight: bold !important; */
--underlay-color: #fff !important;
--background-color: transparent !important;
--color: #000 !important;
--accent-color: #c0c0c0 !important;
--accent-color-bg: #000 !important;
--accent-color-fg: #000 !important;
--border-width: calc(1em / 16) !important;
--border-style: solid !important;
--border-color: var(--color) !important;
--border-radius: 0 !important;
}
}
/* Size and type normalize */
html {
font-size: var(--base-scale);
line-height: 1em;
background-color: var(--underlay-color);
color: var(--color);
}
body {
width: 100vw;
background-color: var(--background-color);
max-width: var(--document-width);
min-height: 100vh;
margin: auto;
padding-inline: 2em;
padding-block: 1em;
}
main {
margin-block: 1em;
}
h1 {
font-family: var(--header-font-family);
font-weight: var(--header-font-weight);
font-size: 2em;
line-height: 1.5em;
margin: 0;
margin-block: 0.125em;
}
h2 {
font-family: var(--header-font-family);
font-weight: var(--header-font-weight);
font-size: 1.5em;
line-height: 1.25em;
margin: 0;
margin-block: 0.5em;
}
h3 {
font-family: var(--header-font-family);
font-weight: var(--header-font-weight);
font-size: 1.1em;
line-height: 1.25em;
margin: 0;
margin-block: 0.5em;
}
h4 {
font-family: var(--header-font-family);
font-weight: var(--header-font-weight);
font-size: 1em;
line-height: 1.25em;
margin: 0;
margin-block: 0.5em;
}
p {
font-size: 1em;
line-height: 1.5em;
margin-inline: 0;
margin-block: 0.5em;
}
img {
max-width: 100%;
}
ul,
ol {
padding: 0;
padding-inline-start: 1em;
margin: 0;
margin-block: 0.5em;
}
li {
margin-inline: 0;
line-height: 1.5em;
margin-block: 0.5em;
}
small {
font-size: 0.75em;
}
big {
font-size: 1.5em;
}
code {
font-size: 1em;
line-height: 1.25em;
font-family: monospace;
}
pre {
display: inline-block;
width: 100%;
overflow-x: auto;
font-size: 1em;
line-height: 1.25em;
padding: 0.5em;
margin-block: 0.5em;
box-sizing: border-box;
}
hr {
border: none;
border-top: var(--border-width) var(--border-style) var(--border-color);
background-color: transparent;
margin-inline: 0;
margin-block: 0.25em;
}
blockquote {
margin-inline: 1em;
margin-block: 0.5em;
}
/* Pseudo normalize */
::selection {
color: var(--background-color);
background-color: var(--color);
}
/* Form normalize */
html {
font-family: var(--font-family);
font-weight: var(--font-weight);
}
* {
box-sizing: border-box;
}
*:focus {
outline: 2px solid var(--accent-color-bg);
}
fieldset {
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
padding-inline: 0.5em;
padding-block: 0.25em;
margin-inline: 0;
margin-block: 0.5em;
font-size: 1em;
background-color: var(--background-color);
color: var(--color);
}
legend {
padding-inline: var(--border-width);
}
summary {
font-size: 1em;
line-height: 1.5em;
margin-inline: 0;
margin-block: 0.5em;
}
iframe {
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
width: 100%;
aspect-ratio: 16/9;
}
/* Interactive normalize */
a {
color: var(--accent-color-bg);
text-decoration: underline;
}
a:hover,
a:focus {
opacity: 0.8;
}
a:active {
opacity: 0.5;
}
input,
select,
textarea {
font-family: inherit;
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
padding-inline: 0.5em;
padding-block: 0.25em;
margin-inline: 0;
margin-block: 0.25em;
font-size: 1em;
vertical-align: middle;
background-color: var(--background-color);
color: var(--color);
}
input:disabled {
opacity: 0.5;
}
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
padding-inline: 0.5em;
padding-block: 0.25em;
margin-inline: 0;
margin-block: 0.25em;
font-size: 1em;
line-height: 1.25em;
font-family: inherit;
background-color: var(--accent-color);
color: var(--accent-color-fg);
}
button[data-outlined],
input[type="button"][data-outlined],
input[type="submit"][data-outlined],
input[type="reset"][data-outlined] {
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
background-color: var(--background-color);
color: var(--accent-color);
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus {
opacity: 0.8;
}
button:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
opacity: 0.5;
}
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled {
opacity: 0.5;
}
/* -- Checkbox styling */
label.checkbox {
display: inline-block;
position: relative;
margin-inline: 0;
margin-block: 0.25em;
vertical-align: middle;
}
label.checkbox input[type="checkbox"] {
/* visibility: hidden; */
opacity: 0;
width: 0;
height: 0;
position: absolute;
top: 0;
left: 0;
}
label.checkbox input[type="checkbox"] + span.checkbox {
display: inline-block;
width: 1em;
height: 1em;
line-height: 1em;
padding-inline: 0.25em;
padding-block: 0.25em;
box-sizing: content-box;
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
color: transparent;
text-align: center;
user-select: none;
vertical-align: middle;
}
label.checkbox input[type="checkbox"]:focus + span.checkbox {
outline: 2px solid var(--accent-color-bg);
}
label.checkbox input[type="checkbox"]:checked + span.checkbox {
background-color: var(--accent-color);
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
color: var(--accent-color-fg);
}
/* -- Range styling */
input[type="range"] {
-webkit-appearance: none;
appearance: none;
box-sizing: content-box;
position: relative;
display: inline-block;
width: 10em;
height: 1em;
line-height: 1em;
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
padding-inline: 0;
padding-block: 0.25em;
margin-inline: 0;
margin-block: 0.25em;
}
input[type="range"]:focus {
outline: none;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
background-color: var(--accent-color);
height: 1.5em;
box-sizing: content-box;
width: 1em;
}
input[type="range"]:focus::-webkit-slider-thumb {
outline: 2px solid var(--accent-color-bg);
}
input[type="range"]::-moz-range-thumb {
border: var(--border-width) var(--border-style) var(--border-color);
border-radius: var(--border-radius);
background-color: var(--accent-color);
height: 1.5em;
box-sizing: content-box;
width: 1em;
}
input[type="range"]:focus::-moz-range-thumb {
outline: 2px solid var(--accent-color-bg);
}