Files
sftp-browser/web/v2/base.css
2025-06-24 00:32:24 -04:00

1178 lines
23 KiB
CSS

@import '/fonts/poppins.css';
@import '/fonts/comfortaa.css';
@import '/fonts/cascadia-code.css';
@import '/fonts/material-symbols-outlined.css';
body {
/* Fonts */
--fontDefault: 'Poppins';
--fontCode: 'Cascadia Code';
--fontHeading: 'Comfortaa';
--fontButton: 'Comfortaa';
--fontContext: 'Comfortaa';
--fontIcons: 'Material Symbols Outlined Rounded';
/* Timing functions */
--bezier: cubic-bezier(0.1, 0.3, 0.3, 1);
/* Body styles */
margin: 0px;
background: var(--b1);
color: var(--f1);
font-family: var(--fontDefault);
font-size: 16px;
line-height: 1;
}
* {
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
}
a {
color: var(--f3);
text-decoration: underline;
}
a:hover {
color: var(--f2);
text-decoration: underline;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--fontHeading);
font-weight: bold;
color: var(--f1);
line-height: 1.2;
margin-top: 1em;
margin-bottom: 0.4em;
word-break: break-word;
}
h1 { font-size: 2.2rem }
h2 { font-size: 1.8rem }
h3 { font-size: 1.5rem; color: var(--f2) }
h4 { font-size: 1.3rem; color: var(--f3) }
h5 { font-size: 1.1rem; color: var(--f3) }
h6 { font-size: 1rem; color: var(--f3) }
h1:not(.no-border),
h2:not(.no-border) {
padding-bottom: 0.1em;
border-bottom: 1px solid var(--b3);
}
p, li {
line-height: 1.6;
word-break: break-word;
}
p, ul, ol {
margin: 0px;
margin-bottom: 0.8em;
}
small {
font-size: 14px;
line-height: 1.2;
color: var(--f4);
}
small.pad-top {
display: block;
margin-top: 0.5em;
}
label {
font-size: 14px;
color: var(--f3);
display: block;
margin-bottom: 0.5em;
}
blockquote {
margin: 0px;
margin-bottom: 10px;
margin-left: 5px;
padding: 10px 15px;
border-left: 2px solid var(--b4);
}
table {
border: 1px solid var(--b4);
border-collapse: collapse;
margin-bottom: 10px;
line-height: 1.5;
}
table > thead {
background: var(--b3);
text-align: left;
}
table th, table td {
padding: 8px 12px;
border: 1px solid var(--b4);
}
table th {
font-family: var(--fontHeading);
font-weight: bold;
color: var(--f2);
}
code {
font-family: var(--fontCode);
}
code:not(pre code) {
padding: 2px 4px;
background: var(--b0);
border: 1px solid var(--b2);
border-radius: 8px;
word-break: break-word;
}
pre {
padding: 10px;
border-radius: 20px;
background: var(--b0);
border: 1px solid var(--b2);
color: var(--f1);
}
pre code {
display: block;
padding: 10px;
max-height: 500px;
max-width: 100%;
overflow: auto;
line-height: 1.4;
font-size: 16px;
}
.cm-comment,
.cm-meta,
.cm-hr,
code .token.comment,
code .token.deleted,
code .token.prolog,
code .token.doctype,
code .token.cdata {
color: var(--syntax-comment) !important
}
.cm-header,
.cm-def,
.cm-variable,
.cm-variable-3,
.cm-number,
.cm-builtin,
.cm-atom,
.cm-qualifier,
.cm-attribute,
code .token.builtin,
code .token.property,
code .token.attr-name,
code .token.boolean,
code .token.number,
code .token.constant {
color: var(--syntax-constant) !important
}
.cm-variable-2,
.cm-type,
code .token.color,
code .token.variable {
color: var(--syntax-variable) !important
}
.cm-calle,
code .token.function,
code .token.symbol,
code .token.entity {
color: var(--syntax-entity) !important
}
.cm-tag,
code .token.class-name,
code .token.selector,
code .token.tag {
color: var(--syntax-entity-tag) !important
}
.cm-keyword,
.cm-operator,
code .token.important,
code .token.keyword,
code .token.operator,
code .token.atrule,
code .token.unit {
color: var(--syntax-keyword) !important
}
.cm-quote,
.cm-string, .cm-string-2,
.cm-link,
code .token.string,
code .token.char,
code .token.regex,
code .token.url,
code .token.attr-value {
color: var(--syntax-string) !important
}
.cm-property,
.cm-positive,
.cm-negative,
.cm-bracket,
.cm-error,
.cm-invalidchar,
code .token.punctuation,
code .token.inserted,
code .token.interpolation-punctuation {
color: var(--f1) !important
}
code .token.bold {
font-weight: bold;
}
code .token.italic {
font-style: italic
}
code .token.namespace {
color: var(--f3)
}
.CodeMirror {
background: var(--b0);
border: 1px solid var(--b2);
color: var(--f1);
font-family: 'Cascadia Code';
font-size: 18px;
line-height: 1.3;
}
.CodeMirror-gutters {
border: none;
background: none;
}
.CodeMirror-linenumbers {
background: var(--b0);
padding: 0px 10px;
}
.CodeMirror-linenumber {
color: var(--f3);
}
.CodeMirror-selected,
.CodeMirror-selectedtext,
.CodeMirror *::selection {
background: var(--b3) !important;
}
.CodeMirror-activeline-background {
background: var(--b2);
}
.CodeMirror-cursor {
border-color: var(--f1);
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child,
h5:first-child, h6:first-child, p:first-child, a:first-child,
li:first-child {
margin-top: 0px;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child,
h5:last-child, h6:last-child, p:last-child, a:last-child,
li:last-child {
margin-bottom: 0px;
}
.btn {
--height: 40px;
--padding-top: 2px;
--padding-lr: 20px;
--gap: 12px;
--icon-size: 26px;
height: var(--height);
padding: 0px var(--padding-lr);
padding-top: var(--padding-top);
border: none;
border-radius: 100px;
font-family: var(--fontButton);
font-size: var(--font-size);
font-weight: bold;
color: var(--fg);
background: var(--bg);
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
gap: var(--gap);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
user-select: none;
cursor: pointer;
flex-shrink: 0;
transition: 0.3s var(--bezier);
}
.btnGroup {
display: flex;
flex-direction: row;
gap: 2px;
overflow-x: auto;
scrollbar-width: none;
}
.btnGroup::-webkit-scrollbar {
display: none;
}
.btnGroup > .btn {
border-radius: 6px 6px 6px 6px;
}
.btnGroup > .btn:first-child {
border-top-left-radius: 25px;
border-bottom-left-radius: 25px;
}
.btnGroup > .btn:last-child {
border-top-right-radius: 25px;
border-bottom-right-radius: 25px;
}
.btn {
--fg: var(--b1);
--bg: var(--f3);
--bgHover: var(--f4);
--bgActive: var(--b5);
}
.btn.secondary {
--fg: var(--f2);
--bg: var(--b3);
--bgHover: var(--b4);
--bgActive: var(--b5);
}
.btn.tertiary {
--fg: var(--f3);
--bg: transparent;
--bgHover: var(--b3);
--bgActive: var(--b4);
}
.btn.overlay {
--fg: var(--l8);
--bg: transparent;
--bgHover: rgba(255, 255, 255, 0.2);
--bgActive: rgba(255, 255, 255, 0.4);
}
.btn.info {
--fg: var(--f1);
--bg: var(--blue1);
--bgHover: var(--blue2);
--bgActive: var(--blue3);
}
.btn.success {
--fg: var(--f1);
--bg: var(--green1);
--bgHover: var(--green2);
--bgActive: var(--green3);
}
.btn.warning {
--fg: var(--f1);
--bg: var(--yellow1);
--bgHover: var(--yellow2);
--bgActive: var(--yellow3);
}
.btn.danger {
--fg: var(--f1);
--bg: var(--red1);
--bgHover: var(--red2);
--bgActive: var(--red3);
}
.btn:hover:not(:disabled),
.btn:focus-visible:not(:disabled) {
background: var(--bgHover);
color: var(--fg);
text-decoration: none;
transition: none;
}
@media ( hover: none ) {
.btn:hover:not(:disabled) {
background: var(--bg);
transition: 0.2s var(--bezier);
}
}
.btn:active:not(:disabled) {
background: var(--bgActive);
color: var(--fg);
text-decoration: none;
}
.btn > .icon {
font-family: var(--fontIcons);
font-size: var(--icon-size);
line-height: 1;
color: inherit;
font-weight: normal;
}
.btn.iconOnly > *:not(.icon) {
display: none;
}
.btn:not(.iconOnly) > .icon {
margin: -2px -5px 0px -5px;
}
.btn.iconOnly > .icon {
margin-left: 1px;
}
.btn.small {
--height: 34px;
--font-size: 14px;
--padding-top: 1px;
--padding-lr: 16px;
--icon-size: 24px;
}
.btn.large {
--height: 46px;
--font-size: 16px;
--padding-top: 2px;
--padding-lr: 24px;
--icon-size: 28px;
}
.btn.iconOnly {
padding: 0px;
width: var(--height);
height: var(--height);
}
.btn:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.textbox {
width: 100%;
height: 40px;
padding: 0px 20px;
border: 2px solid var(--b3);
border-radius: 20px;
font-family: var(--fontDefault);
font-size: 16px;
line-height: 1.3;
background: var(--b3);
color: var(--f1);
display: flex;
align-items: center;
transition: 0.1s var(--bezier);
}
.textbox:focus,
.textbox:focus-within {
border-color: var(--f4);
background: var(--b2);
outline: none;
}
.textbox.textarea {
height: auto;
padding: 12px 0px;
}
.textbox.textarea > textarea {
width: 100%;
height: 100%;
padding: 0px 20px;
border: none;
background: transparent;
color: inherit;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
line-height: 1.3;
resize: none;
outline: none;
}
input[type="date"], input[type="time"], input[type="datetime-local"], select {
appearance: none;
}
.dropdown {
position: relative;
}
.dropdown > select {
padding-right: 40px;
}
.dropdown::after {
position: absolute;
top: 0px;
right: 10px;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
content: 'expand_more';
font-family: var(--fontIcons);
font-size: 32px;
color: var(--f3);
pointer-events: none;
}
.popupCont {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
padding: 10px;
z-index: 10;
display: flex;
background: rgba(0, 0, 0, 0.3);
overflow-x: hidden;
overflow-y: auto;
opacity: 0;
transition: 0.2s var(--bezier);
}
.popupCont.visible {
opacity: 1;
}
.popup {
margin: auto;
max-width: 600px;
max-height: 100%;
background: var(--b1);
border-radius: 20px;
display: flex;
flex-direction: column;
overflow: hidden;
scale: 1.1;
transition: 0.2s var(--bezier);
box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.2);
}
.popupCont.visible > .popup {
scale: 1;
}
.popup > .title {
font-family: var(--fontHeading);
font-size: 22px;
font-weight: bold;
color: var(--f1);
padding: 20px 20px 10px 20px;
}
.popup > .body {
padding: 0px 20px 10px 20px;
max-height: 99999px;
min-height: 23px;
overflow-y: auto;
z-index: 1;
}
.popup > .actions {
padding: 10px 20px 15px 20px;
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
gap: 12px;
user-select: none;
}
.contextCont {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 20;
overflow: hidden;
user-select: none;
}
.context {
position: fixed;
top: 0px;
left: 0px;
max-width: 400px;
max-height: 100%;
overflow-x: hidden;
overflow-y: auto;
text-overflow: ellipsis;
white-space: nowrap;
border-radius: 20px;
background: var(--b1);
border: 1px solid var(--b3);
padding: 6px;
display: flex;
flex-direction: column;
gap: 6px;
scale: 0.9;
opacity: 0;
box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
scrollbar-width: none;
}
.context::-webkit-scrollbar {
display: none;
}
.contextCont.ani .context {
transition: 0.1s var(--bezier);
}
.contextCont.visible .context {
opacity: 1;
scale: 1;
}
.context > .item {
height: 34px;
padding: 0px 12px;
display: flex;
align-items: center;
gap: 12px;
background: transparent;
outline: none;
border: none;
border-radius: 14px;
transition: 0.2s var(--bezier);
cursor: pointer;
flex-shrink: 0;
}
.context > .item:hover:not(:disabled),
.context > .item:focus:not(:disabled) {
background: var(--b3);
transition: none;
}
@media ( hover: none ) {
.context > .item:hover:not(:disabled) {
background: transparent;
transition: 0.2s var(--bezier);
}
}
.context > .item:active:not(:disabled) {
background: var(--b4);
}
.context > .item > .label {
max-width: 100%;
margin-top: 3px;
color: var(--f1);
font-family: var(--fontContext);
font-weight: bold;
font-size: 16px;
text-align: left;
display: flex;
flex-direction: column;
justify-content: center;
}
.context > .item > .label,
.context > .item > .label * {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.context > .item > .icon {
font-family: var(--fontIcons);
width: 24px;
font-size: 24px;
line-height: 1;
color: var(--f3);
display: flex;
align-items: center;
}
.context > .item > .icon.hidden {
opacity: 0;
}
.context.hideIcons > .item > .icon {
display: none;
}
.context > .item:disabled {
cursor: not-allowed;
opacity: 0.5;
}
.context > .separator {
height: 1px;
background: var(--b3);
flex-shrink: 0;
}
@media (pointer: coarse) {
.context {
gap: 3px;
}
.context > .item {
height: 37px;
}
}
.tooltip {
position: fixed;
top: 0px;
left: 0px;
max-width: 400px;
padding: 6px 12px;
border-radius: 20px;
background: var(--b2);
border: 1px solid var(--b3);
font-size: 15px;
line-height: 1.2;
word-break: break-word;
pointer-events: none;
box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.2);
opacity: 0;
transition: 0.2s var(--bezier);
z-index: 99;
}
@media (hover: hover) {
.tooltip.visible {
opacity: 1;
}
}
.toastOverlay {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 20;
padding: 20px;
pointer-events: none;
overflow: hidden;
filter: drop-shadow(0px 0px 50px rgba(0, 0, 0, 0.2));
}
.toastOverlay > .toast {
position: relative;
max-width: 500px;
padding: 0px 10px;
border-radius: 20px;
background: var(--b3);
border: 1px solid var(--b4);
scale: 0.8;
opacity: 0;
transition: 0.2s var(--bezier);
pointer-events: all;
}
.toastOverlay > .toast.visible {
scale: 1;
opacity: 1;
}
.toastOverlay > .toast > .icon {
font-family: var(--fontIcons);
font-size: 28px;
line-height: 1;
color: var(--f2);
display: flex;
align-items: center;
padding: 10px 0px;
margin-left: 5px;
user-select: none;
}
.toastOverlay > .toast > .icon.hidden {
display: none;
}
.toastOverlay > .toast > .body {
padding: 15px 5px;
}
.toastOverlay > .toast > .close {
padding: 15px 0px;
}
.notice {
border-radius: 20px;
background: var(--b3);
border: 1px solid var(--b4);
display: flex;
margin-bottom: 10px;
}
.notice.info {
border-color: var(--blue1);
background: var(--blue2);
}
.notice.success {
border-color: var(--green1);
background: var(--green2);
}
.notice.warning {
border-color: var(--yellow1);
background: var(--yellow2);
}
.notice.danger {
border-color: var(--red1);
background: var(--red2);
}
.notice > .icon {
font-family: var(--fontIcons);
font-size: 28px;
line-height: 1;
color: var(--f3);
display: flex;
align-items: center;
padding: 10px 20px;
padding-right: 0px;
user-select: none;
}
.notice > .body {
padding: 15px 20px;
}
progress {
--bg: var(--b4);
--fill: var(--f3);
appearance: none;
position: relative;
margin: 8px 0px;
background: var(--bg);
width: 100%;
height: 5px;
border-radius: 4px;
overflow: hidden;
outline: none;
border: none;
}
progress.info {
--fill: var(--blue1);
}
progress.success {
--fill: var(--green1);
}
progress.warning {
--fill: var(--yellow1);
}
progress.danger {
--fill: var(--red1);
}
progress:not([value]):before,
progress:not([value]):after {
content: "";
background-color: var(--fill);
border-radius: 100px;
height: 5px;
position: absolute;
left: 0;
top: 0;
width: 30%;
animation: move 1.5s linear infinite;
transform: translateX(-100%);
}
progress:not([value]):after {
animation-delay: 0.75s;
}
@keyframes move {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(350%);
}
}
progress::-webkit-progress-bar {
background: var(--bg);
border-radius: 4px;
}
progress::-webkit-progress-value {
background: var(--fill);
border-radius: 4px;
transition: 0.1s ease-in-out;
}
progress::-moz-progress-bar {
background: var(--fill);
border-radius: 4px;
transition: 0.1s ease-in-out;
}
.slider {
--thumbFill: var(--b0);
--thumbFillHover: var(--b3);
--barBg: var(--b4);
--barFill: var(--f3);
position: relative;
width: 100%;
height: 27px;
}
.slider.overlay {
--thumbFill: white;
--thumbFillHover: var(--l7);
--barBg: rgba(255, 255, 255, 0.2);
--barFill: var(--l8);
}
.slider progress {
--bg: var(--barBg);
--fill: var(--barFill);
position: absolute;
margin-top: 11px;
}
.slider progress::-webkit-progress-value {
transition: none;
}
.slider progress::-moz-progress-bar {
transition: none;
}
.slider input[type="range"] {
position: absolute;
appearance: none;
background: transparent;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
margin-left: -12px;
width: calc(100% + 24px);
height: 24px;
z-index: 2;
}
.slider input[type="range"]::-webkit-slider-thumb {
appearance: none;
width: 21px;
height: 21px;
background: var(--thumbFill);
border-radius: 100px;
transition: 0.2s var(--bezier);
box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2);
}
.slider input[type="range"]::-webkit-slider-thumb:hover,
.slider input[type="range"]::-webkit-slider-thumb:active {
background: var(--thumbFillHover);
transition: none;
}
.slider input[type="range"]::-moz-range-thumb {
appearance: none;
width: 24px;
height: 24px;
background: var(--thumbFill);
border: 3px solid var(--b100);
border-radius: 100px;
transition: 0.1s var(--bezier);
}
.slider input[type="range"]::-moz-range-thumb:hover,
.slider input[type="range"]::-moz-range-thumb:active {
background: var(--thumbFillHover);
}
input[type="radio"],
input[type="checkbox"] {
appearance: none;
font-family: var(--fontIcons);
font-size: 1.8em;
color: var(--f1);
line-height: 1;
flex-shrink: 0;
cursor: pointer;
}
input[type="radio"]:checked,
input[type="checkbox"]:checked {
color: var(--f4);
}
input[type="radio"]::before { content: "radio_button_unchecked"; }
input[type="radio"]:checked::before { content: "radio_button_checked"; }
input[type="checkbox"]::before { content: "check_box_outline_blank"; }
input[type="checkbox"]:checked::before { content: "check_box"; }
label.selectOption {
margin: 0px;
padding-right: 8px;
display: flex;
align-items: center;
font-family: var(--fontDefault);
font-size: 16px;
line-height: 1.2;
color: var(--f1);
cursor: pointer;
user-select: none;
}
label.selectOption input[type="radio"],
label.selectOption input[type="checkbox"] {
margin-top: 0;
margin-right: 0.3em;
}
label.selectOption:hover > input[type="radio"],
label.selectOption:hover > input[type="checkbox"] {
color: var(--f2);
}
label.selectOption:hover > input[type="radio"]:checked,
label.selectOption:hover > input[type="checkbox"]:checked {
color: var(--b5);
}
@keyframes spinner {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.spinner {
--bg: var(--b4);
--fill: var(--f3);
--size: 48px;
--thickness: 5px;
height: var(--size);
width: var(--size);
border: var(--thickness) solid var(--bg);
border-top-color: var(--fill);
border-radius: 50%;
animation: spinner 1s linear infinite;
}
.spinner.info {
--fill: var(--blue1);
}
.spinner.success {
--fill: var(--green1);
}
.spinner.warning {
--fill: var(--yellow1);
}
.spinner.danger {
--fill: var(--red1);
}
.spinner.overlay {
--bg: rgba(255, 255, 255, 0.2);
--fill: var(--l8);
}
.container {
max-width: 1000px;
padding: 30px 20px;
margin: 0px auto;
}
.container img {
max-width: 100%;
}
.text-muted {
color: var(--f4) !important;
}
.text-info {
color: var(--blue0) !important;
}
.text-success {
color: var(--green0) !important;
}
.text-warning {
color: var(--yellow0) !important;
}
.text-danger {
color: var(--red0) !important;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-overflow-ellipses {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.no-margin {
margin: 0px;
}
.no-padding {
padding: 0px;
}
.no-select {
user-select: none;
}
.row {
display: flex;
flex-direction: row;
}
@media screen and (max-width: 480px) {
.row.xs {
flex-direction: column;
}
.row.xs > * {
width: 100% !important;
}
}
@media screen and (max-width: 540px) {
.row.sm {
flex-direction: column;
}
.row.sm > * {
width: 100% !important;
}
}
@media screen and (max-width: 720px) {
.row.md {
flex-direction: column;
}
.row.md > * {
width: 100% !important;
}
}
@media screen and (max-width: 960px) {
.row.lg {
flex-direction: column;
}
.row.lg > * {
width: 100% !important;
}
}
@media screen and (max-width: 1200px) {
.row.xl {
flex-direction: column;
}
.row.xl > * {
width: 100% !important;
}
}
.col {
display: flex;
flex-direction: column;
}
.align-start {
align-items: flex-start;
}
.align-center {
align-items: center;
}
.align-end {
align-items: flex-end;
}
.justify-start {
justify-content: flex-start;
}
.justify-center {
justify-content: center;
}
.justify-end {
justify-content: flex-end;
}
.flex-grow {
flex-grow: 1;
}
.flex-wrap {
flex-wrap: wrap;
}
.flex-no-shrink {
flex-shrink: 0;
}
.flex-1 {
flex: 1;
}
.gap-2 { gap: 2px }
.gap-5 { gap: 5px }
.gap-8 { gap: 8px }
.gap-10 { gap: 10px }
.gap-12 { gap: 12px }
.gap-15 { gap: 15px }
.gap-18 { gap: 18px }
.gap-20 { gap: 20px }
.gap-22 { gap: 22px }
.gap-25 { gap: 25px }
.gap-28 { gap: 28px }
.gap-30 { gap: 30px }
::selection {
background-color: var(--b4);
color: var(--f1);
}
[placeholder]:empty::before,
[placeholder]:empty::after {
color: var(--f4);
pointer-events: none;
}
[placeholder]:empty:not(:focus)::before {
content: attr(placeholder);
}
[placeholder]:empty:focus::after {
content: attr(placeholder);
}
::placeholder {
color: var(--f4);
}
::-webkit-scrollbar {
width: 10px;
height: 10px;
background: transparent;
}
::-webkit-resizer {
background: transparent;
}
::-webkit-scrollbar-corner {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--b5);
border-radius: 100px;
background-clip: padding-box;
border: 4px solid transparent;
}
::-webkit-scrollbar-thumb:hover {
background-color: var(--f4);
background-clip: padding-box;
border: 2px solid transparent;
}
* {
scrollbar-color: var(--b5) transparent;
scrollbar-width: thin;
}