mirror of
https://github.com/Spythere/genera-tor.git
synced 2026-05-03 05:28:13 +00:00
263 lines
3.7 KiB
SCSS
263 lines
3.7 KiB
SCSS
@use 'fonts';
|
|
@use 'colors';
|
|
@use 'sass:color';
|
|
|
|
// Global scrollbar style
|
|
::-webkit-scrollbar {
|
|
width: 15px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #333;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #888;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #555;
|
|
}
|
|
|
|
body,
|
|
html {
|
|
padding: 0;
|
|
margin: 0;
|
|
min-height: 100vh;
|
|
background-color: colors.$bgCol;
|
|
|
|
font-family: 'Libre Franklin', sans-serif;
|
|
font-weight: 500;
|
|
}
|
|
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
a {
|
|
color: white;
|
|
text-decoration: none;
|
|
|
|
&:hover {
|
|
color: colors.$accentCol;
|
|
}
|
|
}
|
|
|
|
button {
|
|
border: none;
|
|
outline: none;
|
|
background: none;
|
|
|
|
transition:
|
|
color 90ms ease-in,
|
|
border 90ms ease-in;
|
|
font-family: 'Libre Franklin', sans-serif;
|
|
|
|
cursor: pointer;
|
|
font-weight: bold;
|
|
font-size: 1em;
|
|
}
|
|
|
|
button.g-button {
|
|
text-align: center;
|
|
color: inherit;
|
|
|
|
transition:
|
|
color 100ms ease-in,
|
|
background-color 100ms ease-in;
|
|
|
|
&.action {
|
|
background-color: colors.$bgColDarker;
|
|
padding: 0.5em;
|
|
|
|
&:focus-visible {
|
|
outline: 2px solid colors.$accentCol;
|
|
}
|
|
|
|
&:hover:not([data-disabled='true']) {
|
|
background-color: color.adjust(colors.$bgColDarker, $lightness: 15%);
|
|
}
|
|
}
|
|
|
|
&.option {
|
|
position: relative;
|
|
margin: 0 0.25em;
|
|
padding: 0.25em;
|
|
|
|
&:focus-visible::after {
|
|
content: '';
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: 2px;
|
|
background-color: colors.$accentCol;
|
|
}
|
|
|
|
&[data-active='true'] {
|
|
color: colors.$accentCol;
|
|
}
|
|
}
|
|
|
|
&.text {
|
|
padding: 0;
|
|
|
|
&:focus-visible {
|
|
color: colors.$accentCol;
|
|
}
|
|
}
|
|
|
|
&.icon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
&:focus-visible {
|
|
outline: 1px solid white;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Text styles
|
|
.text {
|
|
&--accent {
|
|
color: colors.$accentCol;
|
|
}
|
|
|
|
&--warn {
|
|
color: colors.$warnCol;
|
|
}
|
|
}
|
|
|
|
// Select style
|
|
select {
|
|
border: 2px solid black;
|
|
background: none;
|
|
padding: 0.1em 0;
|
|
border-radius: 0.3em;
|
|
text-align: center;
|
|
|
|
border: 2px solid #888;
|
|
color: white;
|
|
outline: none;
|
|
|
|
margin: 0;
|
|
padding: 0.15em;
|
|
|
|
&[disabled] {
|
|
color: gray;
|
|
}
|
|
|
|
&:focus-visible {
|
|
border-color: colors.$accentCol;
|
|
}
|
|
}
|
|
|
|
option[disabled] {
|
|
color: #ccc;
|
|
}
|
|
|
|
// List style
|
|
ul {
|
|
padding: 0;
|
|
margin: 0;
|
|
|
|
list-style: none;
|
|
text-align: center;
|
|
}
|
|
|
|
// Modal
|
|
.g-modal {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
z-index: 1000;
|
|
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
.modal-bg {
|
|
position: fixed;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
|
|
cursor: pointer;
|
|
|
|
background-color: #000000aa;
|
|
}
|
|
|
|
.modal-content {
|
|
position: relative;
|
|
z-index: 1001;
|
|
|
|
overflow: auto;
|
|
}
|
|
}
|
|
|
|
// Checkbox
|
|
label.g-checkbox {
|
|
display: inline-block;
|
|
margin: 0.25em 0;
|
|
cursor: pointer;
|
|
color: #aaa;
|
|
|
|
user-select: none;
|
|
-moz-user-select: none;
|
|
|
|
span {
|
|
transition: color 125ms ease;
|
|
}
|
|
|
|
span::before {
|
|
content: '\2717';
|
|
display: inline-block;
|
|
|
|
// background-color: #aaa;
|
|
border-radius: 50%;
|
|
margin-right: 0.25em;
|
|
|
|
transition: background-color 125ms ease;
|
|
}
|
|
|
|
input {
|
|
width: 0;
|
|
opacity: 0;
|
|
|
|
&:focus-visible + span {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
&:checked + span {
|
|
color: greenyellow;
|
|
|
|
&::before {
|
|
content: '\2713';
|
|
// background-color: greenyellow;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Tooltip
|
|
[data-tooltip] {
|
|
cursor: pointer;
|
|
}
|
|
|
|
[data-tooltip]:hover::after,
|
|
[data-tooltip]:focus::after {
|
|
position: absolute;
|
|
|
|
content: attr(data-tooltip);
|
|
color: white;
|
|
background: black;
|
|
padding: 0.5em;
|
|
margin: 0.25em;
|
|
max-width: 300px;
|
|
z-index: 100;
|
|
}
|