0
0
mirror of https://github.com/sveltejs/svelte.git synced 2024-11-24 08:17:29 +01:00
svelte/playgrounds/sandbox/demo.css
2024-08-26 11:26:45 +02:00

247 lines
3.7 KiB
CSS

body {
--bg-1: hsl(0, 0%, 100%);
--bg-2: hsl(206, 20%, 90%);
--bg-3: hsl(206, 20%, 80%);
--fg-1: hsl(0, 0%, 13%);
--fg-2: hsl(0, 0%, 20%);
--fg-2: hsl(0, 0%, 30%);
--link: hsl(208, 77%, 47%);
--link-hover: hsl(208, 77%, 55%);
--link-active: hsl(208, 77%, 40%);
--border-radius: 4px;
--font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono',
monospace;
background: var(--bg-1);
color: var(--fg-1);
font-family: var(--font);
line-height: 1.5;
margin: 1rem;
height: calc(100vh - 2rem);
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: normal;
font-variant-numeric: tabular-nums;
line-height: 1.1;
}
:is(h1, h2, h3, h4, h5, h6, p) {
margin: 1rem 0.1rem;
}
label {
margin: 0.5rem 0.1rem;
}
:is(h1, h2, h3, h4, h5, h6, p, label):first-child {
margin-top: 0;
}
:is(h1, h2, h3, h4, h5, h6, p, label):last-child {
margin-bottom: 0;
}
a {
color: var(--link);
}
a:hover {
color: var(--link-hover);
}
a:active {
color: var(--link-active);
}
label {
display: flex;
gap: 0.5rem;
align-items: center;
}
label input {
margin: 0;
}
button,
input,
select {
font-family: inherit;
font-size: inherit;
}
button {
background: var(--link);
color: var(--bg-1);
padding: 0.5rem 1rem;
border: none;
border-radius: var(--border-radius);
}
button:hover {
background: var(--link-hover);
}
button:active {
background: var(--link-active);
}
:is(button, button:hover, button:active):disabled {
background: var(--link);
filter: grayscale(1);
opacity: 0.4;
}
input,
textarea,
select {
padding: 0.5rem;
border: 1px solid var(--bg-2);
border-radius: var(--border-radius);
box-sizing: border-box;
}
input,
textarea {
background: var(--bg-1);
}
select:not([multiple]) {
background: var(--bg-2);
}
textarea {
font-family: var(--font-mono);
font-size: 0.9rem;
}
form {
display: flex;
flex-direction: column;
gap: 1rem;
align-items: baseline;
}
ul:has(li):has(form) {
list-style: none;
padding: 0;
}
li form {
flex-direction: row;
gap: 0.5rem;
margin: 0.5rem 0;
}
nav {
position: relative;
display: flex;
gap: 1em;
padding: 1em;
background: var(--bg-2);
z-index: 2;
margin: 0 0 1em 0;
border-radius: var(--border-radius);
}
nav a {
text-decoration: none;
}
nav a[aria-current='true'] {
border-bottom: 2px solid;
}
ul:has(form) {
list-style: none;
padding: 0;
}
progress {
margin: 0.5rem 0;
}
progress:first-child {
margin-top: 0;
}
progress:lsat-child {
margin-bottom: 0;
}
.error {
color: red;
}
code {
background: var(--bg-2);
font-family: var(--font-mono);
font-size: 0.9em;
padding: 0.15rem 0.3rem;
border-radius: var(--border-radius);
}
ul.todos {
padding: 0;
}
ul.todos li:not(:has(> form)),
ul.todos li form {
position: relative;
display: flex;
align-items: center;
padding: 0.5em 0.5em 0.5em 1em;
margin: 0 0 0.5em 0;
gap: 0.5em;
border-radius: 5px;
user-select: none;
background: var(--bg-1);
filter: drop-shadow(2px 3px 6px rgba(0, 0, 0, 0.1));
transition:
filter 0.2s,
opacity 0.2s;
}
ul.todos .done {
filter: none;
opacity: 0.4;
}
ul.todos button {
border: none;
background-color: transparent;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: 1rem 1rem;
cursor: pointer;
width: 3em;
height: 3em;
margin: -0.5em -0.5em -0.5em 0;
aspect-ratio: 1;
opacity: 0.5;
transition: opacity 0.2s;
}
ul.todos button:hover {
opacity: 1;
}
body.dark {
--bg-1: hsl(0, 0%, 18%);
--bg-2: hsl(0, 0%, 30%);
--bg-3: hsl(0, 0%, 40%);
--fg-1: hsl(0, 0%, 90%);
--fg-2: hsl(0, 0%, 70%);
--fg-3: hsl(0, 0%, 60%);
--link: hsl(206, 96%, 72%);
--link-hover: hsl(206, 96%, 78%);
--link-active: hsl(206, 96%, 64%);
}