mirror of
https://github.com/Casvt/MIND.git
synced 2026-02-19 11:54:46 -05:00
338 lines
5.5 KiB
CSS
338 lines
5.5 KiB
CSS
*, *::before, *::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
:root {
|
|
--color-light: #ffffff;
|
|
--color-light-gray: #6b6b6b;
|
|
--color-gray: #3c3c3c;
|
|
--color-dark: #1b1b1b;
|
|
|
|
--color-error: #db5461;
|
|
--color-success: #54db68;
|
|
|
|
--header-height: 4.5rem;
|
|
--nav-width: 4rem;
|
|
--rem-clamp: clamp(.5rem, 2vw, 1rem);
|
|
--default-shadow: 0 1px 2px 0 rgb(0 0 0 / 60%), 0 2px 6px 2px rgb(0 0 0 / 30%);
|
|
}
|
|
|
|
/* */
|
|
/* Default properties */
|
|
/* */
|
|
img {
|
|
width: 100%;
|
|
}
|
|
|
|
button,
|
|
label {
|
|
border: 0;
|
|
border-radius: 4px;
|
|
background-color: var(--color-dark);
|
|
color: var(--color-light);
|
|
}
|
|
|
|
button:hover,
|
|
label:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
input:not([type="checkbox"]),
|
|
select,
|
|
textarea,
|
|
.as-button {
|
|
border: 2px solid var(--color-gray);
|
|
border-radius: 4px;
|
|
padding: .6rem;
|
|
outline: 0;
|
|
background-color: var(--color-dark);
|
|
color: var(--color-light);
|
|
|
|
box-shadow: var(--default-shadow);
|
|
|
|
font-size: 1rem;
|
|
}
|
|
|
|
input::placeholder,
|
|
textarea::placeholder {
|
|
color: var(--color-gray);
|
|
}
|
|
|
|
input[type="datetime-local"] {
|
|
color-scheme: dark;
|
|
}
|
|
|
|
svg path,
|
|
svg rect {
|
|
fill: var(--color-light);
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
width: 12px;
|
|
height: 12px;
|
|
background-color: var(--color-dark);
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
-webkit-border-radius: 6px;
|
|
background-color: var(--color-gray);
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background-color: var(--color-light-gray);
|
|
}
|
|
|
|
/* */
|
|
/* Utility classes */
|
|
/* */
|
|
.hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
.error,
|
|
.error-container p {
|
|
color: var(--color-error) !important;
|
|
font-size: 1rem !important;
|
|
}
|
|
|
|
.error-container p {
|
|
display: block !important;
|
|
}
|
|
|
|
.error-icon path,
|
|
.error-icon rect,
|
|
.error-container path,
|
|
.error-container rect {
|
|
fill: var(--color-error) !important;
|
|
}
|
|
|
|
.error-input,
|
|
.error-container input {
|
|
border: 2px solid var(--color-error) !important;
|
|
}
|
|
|
|
.success {
|
|
color: var(--color-success) !important;
|
|
font-size: 1rem !important;
|
|
}
|
|
|
|
/* */
|
|
/* General styling */
|
|
/* */
|
|
body {
|
|
height: 100vh;
|
|
overflow-x: hidden;
|
|
|
|
background-color: var(--color-dark);
|
|
color: var(--color-light);
|
|
}
|
|
|
|
noscript {
|
|
display: block;
|
|
max-width: 95%;
|
|
margin-inline: 1rem;
|
|
margin-bottom: 1rem;
|
|
|
|
border-radius: 4px;
|
|
padding: 1rem;
|
|
background-color: var(--color-error);
|
|
color: var(--color-light);
|
|
}
|
|
|
|
/* */
|
|
/* Header */
|
|
/* */
|
|
header {
|
|
width: 100%;
|
|
height: var(--header-height);
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
padding: 1rem;
|
|
box-shadow: var(--default-shadow);
|
|
background-color: var(--color-gray);
|
|
}
|
|
|
|
header > div {
|
|
height: 100%;
|
|
transform: translateX(-2.6rem);
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
|
|
transition: transform .3s ease-in-out;
|
|
}
|
|
|
|
#toggle-nav {
|
|
--height: 1.5rem;
|
|
height: var(--height);
|
|
|
|
background-color: transparent;
|
|
}
|
|
|
|
#toggle-nav svg {
|
|
height: var(--height);
|
|
width: var(--height);
|
|
}
|
|
|
|
header img {
|
|
height: 3rem;
|
|
width: fit-content;
|
|
}
|
|
|
|
/* */
|
|
/* Nav */
|
|
/* */
|
|
.nav-divider {
|
|
position: relative;
|
|
height: calc(100% - var(--header-height));
|
|
|
|
display: flex;
|
|
|
|
padding-block: var(--rem-clamp);
|
|
}
|
|
|
|
body:has(#nav-switch:checked) .nav-divider > nav {
|
|
left: var(--rem-clamp);
|
|
}
|
|
|
|
body:has(#nav-switch:checked) .nav-divider > .window-container {
|
|
margin-left: calc(var(--nav-width) + var(--rem-clamp));
|
|
}
|
|
|
|
nav {
|
|
--padding: .5rem;
|
|
z-index: 1;
|
|
position: absolute;
|
|
left: var(--rem-clamp);
|
|
height: calc(100% - (2 * var(--rem-clamp)));
|
|
width: var(--nav-width);
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: var(--padding);
|
|
overflow-y: auto;
|
|
|
|
padding: var(--padding);
|
|
border-radius: 4px;
|
|
background-color: var(--color-gray);
|
|
|
|
transition: left .3s ease-in-out;
|
|
}
|
|
|
|
nav > div {
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--padding);
|
|
}
|
|
|
|
nav > div > button {
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
padding: .5rem;
|
|
border: 0;
|
|
border-radius: 4px;
|
|
background-color: var(--color-dark);
|
|
color: var(--color-light);
|
|
|
|
transition: background-color .1s ease-in-out;
|
|
}
|
|
|
|
nav > div > button:hover {
|
|
background-color: var(--color-gray);
|
|
}
|
|
|
|
nav > div > button svg {
|
|
height: 1.8rem;
|
|
width: 2rem;
|
|
}
|
|
|
|
/* */
|
|
/* Window management */
|
|
/* */
|
|
.window-container {
|
|
margin-left: calc(4rem + var(--rem-clamp));
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
overflow: hidden;
|
|
|
|
transition: margin-left .3s ease-in-out;
|
|
}
|
|
|
|
.window-container > :where(#home, .extra-window-container) {
|
|
width: 100%;
|
|
flex: 0 0 auto;
|
|
|
|
translate: 0 0;
|
|
transition: translate .5s ease-in-out;
|
|
}
|
|
|
|
.window-container.inter-window-ani > :where(#home, .extra-window-container) {
|
|
transition: translate .5s ease-in-out,
|
|
transform .5s ease-in-out;
|
|
}
|
|
|
|
.extra-window-container {
|
|
--y-offset: 0%;
|
|
transform: translateY(var(--y-offset));
|
|
}
|
|
|
|
.extra-window-container > div {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.window-container.show-window > :where(#home, .extra-window-container) {
|
|
translate: -100% 0;
|
|
}
|
|
|
|
.window-container.show-window > .extra-window-container {
|
|
transform: translateY(var(--y-offset));
|
|
}
|
|
|
|
/* */
|
|
/* Styling extra window */
|
|
/* */
|
|
.extra-window-container > div {
|
|
padding: var(--rem-clamp);
|
|
}
|
|
|
|
.extra-window-container > div > h2 {
|
|
text-align: center;
|
|
font-size: clamp(1.3rem, 5vw, 2rem);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.extra-window-container > div > h2:not(:first-of-type) {
|
|
margin-top: 1.5rem;
|
|
}
|
|
|
|
.extra-window-container > div > p {
|
|
text-align: center;
|
|
}
|
|
|
|
@media (max-width: 543px) {
|
|
.window-container {
|
|
margin-left: 0;
|
|
}
|
|
|
|
nav {
|
|
left: -100%;
|
|
}
|
|
}
|