Spaces:
Running
Running
@import "./animation.scss"; | |
@import "./window.scss"; | |
@mixin light { | |
--theme: light; | |
/* color */ | |
--white: white; | |
--black: rgb(48, 48, 48); | |
--gray: rgb(250, 250, 250); | |
--primary: rgb(29, 147, 171); | |
--second: rgb(231, 248, 255); | |
--hover-color: #f3f3f3; | |
--bar-color: rgba(0, 0, 0, 0.1); | |
--theme-color: var(--gray); | |
/* shadow */ | |
--shadow: 50px 50px 100px 10px rgb(0, 0, 0, 0.1); | |
--card-shadow: 0px 2px 4px 0px rgb(0, 0, 0, 0.05); | |
/* stroke */ | |
--border-in-light: 1px solid rgb(222, 222, 222); | |
} | |
@mixin dark { | |
--theme: dark; | |
/* color */ | |
--white: rgb(30, 30, 30); | |
--black: rgb(187, 187, 187); | |
--gray: rgb(21, 21, 21); | |
--primary: rgb(29, 147, 171); | |
--second: rgb(27 38 42); | |
--hover-color: #323232; | |
--bar-color: rgba(255, 255, 255, 0.1); | |
--border-in-light: 1px solid rgba(255, 255, 255, 0.192); | |
--theme-color: var(--gray); | |
div:not(.no-dark) > svg { | |
filter: invert(0.5); | |
} | |
} | |
.light { | |
@include light; | |
} | |
.dark { | |
@include dark; | |
} | |
.mask { | |
filter: invert(0.8); | |
} | |
:root { | |
@include light; | |
--window-width: 90vw; | |
--window-height: 90vh; | |
--sidebar-width: 300px; | |
--window-content-width: calc(100% - var(--sidebar-width)); | |
--message-max-width: 80%; | |
--full-height: 100%; | |
} | |
@media only screen and (max-width: 600px) { | |
:root { | |
--window-width: 100vw; | |
--window-height: var(--full-height); | |
--sidebar-width: 100vw; | |
--window-content-width: var(--window-width); | |
--message-max-width: 100%; | |
} | |
.no-mobile { | |
display: none; | |
} | |
} | |
@media (prefers-color-scheme: dark) { | |
:root { | |
@include dark; | |
} | |
} | |
html { | |
height: var(--full-height); | |
font-family: "Noto Sans SC", "SF Pro SC", "SF Pro Text", "SF Pro Icons", | |
"PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif; | |
} | |
body { | |
background-color: var(--gray); | |
color: var(--black); | |
margin: 0; | |
padding: 0; | |
height: var(--full-height); | |
width: 100vw; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
user-select: none; | |
touch-action: pan-x pan-y; | |
@media only screen and (max-width: 600px) { | |
background-color: var(--second); | |
} | |
} | |
::-webkit-scrollbar { | |
--bar-width: 5px; | |
width: var(--bar-width); | |
height: var(--bar-width); | |
} | |
::-webkit-scrollbar-track { | |
background-color: transparent; | |
} | |
::-webkit-scrollbar-thumb { | |
background-color: var(--bar-color); | |
border-radius: 20px; | |
background-clip: content-box; | |
border: 1px solid transparent; | |
} | |
select { | |
border: var(--border-in-light); | |
padding: 10px; | |
border-radius: 10px; | |
appearance: none; | |
cursor: pointer; | |
background-color: var(--white); | |
color: var(--black); | |
text-align: center; | |
} | |
label { | |
cursor: pointer; | |
} | |
input { | |
text-align: center; | |
font-family: inherit; | |
} | |
input[type="checkbox"] { | |
cursor: pointer; | |
background-color: var(--white); | |
color: var(--black); | |
appearance: none; | |
border: var(--border-in-light); | |
border-radius: 5px; | |
height: 16px; | |
width: 16px; | |
display: inline-flex; | |
align-items: center; | |
justify-content: center; | |
} | |
input[type="checkbox"]:checked::after { | |
display: inline-block; | |
width: 8px; | |
height: 8px; | |
background-color: var(--primary); | |
content: " "; | |
border-radius: 2px; | |
} | |
input[type="range"] { | |
appearance: none; | |
background-color: var(--white); | |
color: var(--black); | |
} | |
@mixin thumb() { | |
appearance: none; | |
height: 8px; | |
width: 20px; | |
background-color: var(--primary); | |
border-radius: 10px; | |
cursor: pointer; | |
transition: all ease 0.3s; | |
margin-left: 5px; | |
border: none; | |
} | |
input[type="range"]::-webkit-slider-thumb { | |
@include thumb(); | |
} | |
input[type="range"]::-moz-range-thumb { | |
@include thumb(); | |
} | |
input[type="range"]::-ms-thumb { | |
@include thumb(); | |
} | |
@mixin thumbHover() { | |
transform: scaleY(1.2); | |
width: 24px; | |
} | |
input[type="range"]::-webkit-slider-thumb:hover { | |
@include thumbHover(); | |
} | |
input[type="range"]::-moz-range-thumb:hover { | |
@include thumbHover(); | |
} | |
input[type="range"]::-ms-thumb:hover { | |
@include thumbHover(); | |
} | |
input[type="number"], | |
input[type="text"], | |
input[type="password"] { | |
appearance: none; | |
border-radius: 10px; | |
border: var(--border-in-light); | |
min-height: 36px; | |
box-sizing: border-box; | |
background: var(--white); | |
color: var(--black); | |
padding: 0 10px; | |
max-width: 50%; | |
font-family: inherit; | |
} | |
div.math { | |
overflow-x: auto; | |
} | |
.modal-mask { | |
z-index: 9999; | |
position: fixed; | |
top: 0; | |
left: 0; | |
height: var(--full-height); | |
width: 100vw; | |
background-color: rgba($color: #000000, $alpha: 0.5); | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
@media screen and (max-width: 600px) { | |
align-items: flex-end; | |
} | |
} | |
.link { | |
font-size: 12px; | |
color: var(--primary); | |
text-decoration: none; | |
&:hover { | |
text-decoration: underline; | |
} | |
} | |
pre { | |
position: relative; | |
&:hover .copy-code-button { | |
pointer-events: all; | |
transform: translateX(0px); | |
opacity: 0.5; | |
} | |
.copy-code-button { | |
position: absolute; | |
right: 10px; | |
top: 1em; | |
cursor: pointer; | |
padding: 0px 5px; | |
background-color: var(--black); | |
color: var(--white); | |
border: var(--border-in-light); | |
border-radius: 10px; | |
transform: translateX(10px); | |
pointer-events: none; | |
opacity: 0; | |
transition: all ease 0.3s; | |
&:after { | |
content: "copy"; | |
} | |
&:hover { | |
opacity: 1; | |
} | |
} | |
} | |
.clickable { | |
cursor: pointer; | |
&:hover { | |
filter: brightness(0.9); | |
} | |
} | |
.error { | |
width: 80%; | |
border-radius: 20px; | |
border: var(--border-in-light); | |
box-shadow: var(--card-shadow); | |
padding: 20px; | |
overflow: auto; | |
background-color: var(--white); | |
color: var(--black); | |
pre { | |
overflow: auto; | |
} | |
} | |
.password-input-container { | |
max-width: 50%; | |
display: flex; | |
justify-content: flex-end; | |
.password-eye { | |
margin-right: 4px; | |
} | |
.password-input { | |
min-width: 80%; | |
} | |
} | |
.user-avatar { | |
height: 30px; | |
min-height: 30px; | |
width: 30px; | |
min-width: 30px; | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
border: var(--border-in-light); | |
box-shadow: var(--card-shadow); | |
border-radius: 10px; | |
} | |
.one-line { | |
white-space: nowrap; | |
overflow: hidden; | |
text-overflow: ellipsis; | |
} | |