elk/styles/global.css

178 lines
3.1 KiB
CSS

@font-face {
font-display: swap;
font-family: "DM Mono";
font-style: normal;
font-weight: 400;
src: url(/fonts/DM-mono-v10.ttf) format("truetype");
}
@font-face {
font-display: swap;
font-family: "DM Sans";
font-style: normal;
font-weight: 400;
src: url(/fonts/DM-sans-v11.ttf) format("truetype");
}
@font-face {
font-display: swap;
font-family: "DM Serif Display";
font-style: normal;
font-weight: 400;
src: url(/fonts/DM-serif-display-v10.ttf) format("truetype");
}
@font-face {
font-display: swap;
font-family: "Homemade Apple";
font-style: normal;
font-weight: 400;
src: url(/fonts/homemade-apple-v18.ttf) format("truetype");
}
* {
scrollbar-color: #8885 var(--c-border);
}
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar:horizontal {
height: 10px;
}
::-webkit-scrollbar-track {
background: var(--c-border);
border-radius: 1px;
}
::-webkit-scrollbar-thumb {
background: #8885;
border-radius: 1px;
}
::-webkit-scrollbar-thumb:hover {
background: #8886;
}
::-moz-selection {
background: var(--c-bg-selection);
}
::selection {
background: var(--c-bg-selection);
}
/* Force vertical scrollbar to be always visible to avoid layout shift while loading the content */
body {
overflow-y: scroll;
-webkit-tap-highlight-color: transparent;
}
.zen .zen-hide {
--at-apply: 'op0 hover:op100 transition duration-600';
}
.custom-emoji {
display: inline-block;
overflow: hidden;
max-height: 1.3em;
max-width: 1.3em;
vertical-align: text-bottom;
}
.content-rich {
overflow-wrap: break-word;
a {
--at-apply: 'text-primary hover:underline hover:text-primary-active';
.invisible {
--at-apply: 'hidden';
}
.ellipsis {
--at-apply: 'line-clamp-1 ws-pre-wrap break-all inline';
&::after {
content: '…';
}
}
}
b, strong {
--at-apply: font-bold;
}
p {
--at-apply: my-2;
}
code {
--at-apply: bg-code text-code px1 py0.5 rounded text-0.9em leading-0.8em;
}
pre code {
--at-apply: bg-transparent px0 py0 rounded-none leading-1.6em;
}
.code-block {
--at-apply: font-mono bg-code text-base p3 mt-2 rounded overflow-auto leading-1.6em;
.shiki {
background: transparent !important;
}
}
}
.content-editor {
--at-apply: outline-none flex-1;
max-width: 100%;
}
.content-editor.content-rich {
p {
--at-apply: my-0;
}
}
.skeleton-loading-bg {
background: linear-gradient(
90deg,
rgba(190, 190, 190, 0.2) 25%,
rgba(129, 129, 129, 0.24) 37%,
rgba(190, 190, 190, 0.2) 63%
);
background-size: 400% 100%;
animation: skeleton-loading 1.4s ease infinite;
}
@keyframes skeleton-loading {
0% {
background-position: 100% 50%;
}
to {
background-position: 0 50%;
}
}
html, body, #__nuxt {
height: 100vh;
margin: 0;
padding: 0;
}
html.dark {
color-scheme: dark;
}
html {
--at-apply: bg-base text-base;
}
body {
/* Prevent arbitrary zooming on mobile devices */
touch-action: pan-x pan-y;
}
.sparkline--fill {
fill: var(--c-primary-active);
opacity: 0.2;
}
.sparkline--line {
stroke: var(--c-primary);
stroke-width: 2;
}