214 lines
4.4 KiB
SCSS
214 lines
4.4 KiB
SCSS
// @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
|
|
// @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');
|
|
|
|
@use "sass:map";
|
|
@import "catppuccin";
|
|
|
|
html { height: 100%; }
|
|
|
|
body {
|
|
font-family: "Inter", -apple-system, "avenir next", avenir, roboto, noto, ubuntu, "helvetica neue", helvetica, sans-serif;
|
|
font-size: 1.0rem;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
min-height: 100%;
|
|
}
|
|
pre, code {
|
|
font-family: "Roboto Mono", "Courier New", monospace;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
h2, h3, h4, h5 { margin-top: 1.5em; }
|
|
|
|
hr { margin: 1em 0; }
|
|
|
|
hr.page-break {
|
|
text-align: center;
|
|
border: 0;
|
|
|
|
&:before { content: '-----' }
|
|
&:after { content: attr(data-content) '-----' }
|
|
}
|
|
|
|
p { margin: 1em 0; }
|
|
|
|
li { margin: 0.4em 0; }
|
|
|
|
.w {
|
|
max-width: 720px;
|
|
margin: 0 auto;
|
|
padding: 4em 2em;
|
|
}
|
|
|
|
table, th, td {
|
|
width: 100%;
|
|
border: thin solid var(--border);
|
|
border-collapse: collapse;
|
|
padding: 0.4em;
|
|
}
|
|
|
|
div.highlighter-rouge pre code, pre code.highlighter-rouge {
|
|
display: block;
|
|
overflow-x: auto;
|
|
padding: 1em;
|
|
}
|
|
|
|
blockquote {
|
|
font-style: italic;
|
|
border: thin solid var(--border);
|
|
padding: 1em;
|
|
|
|
p { margin: 0; }
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
@mixin appearance($theme) {
|
|
html, body {
|
|
--bg: #{map.get($palette, $theme, "base")};
|
|
--bg-secondary: #{map.get($palette, $theme, "base")};
|
|
--border: #{map.get($palette, $theme, "text")};
|
|
--headings: #{map.get($palette, $theme, "subtext1")};
|
|
--text: #{map.get($palette, $theme, "text")};
|
|
--text-secondary: #{map.get($palette, $theme, "subtext2")};
|
|
--links: #{map.get($palette, $theme, "mauve")};
|
|
--highlight: #{map.get($palette, $theme, "base")};
|
|
--code-text: #{map.get($palette, $theme, "pink")};
|
|
--share-text: #{map.get($palette, $theme, "base")};
|
|
}
|
|
}
|
|
|
|
html[data-theme="dark"] { @include appearance("macchiato"); }
|
|
html[data-theme="light"] { @include appearance("latte"); }
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
body[data-theme="auto"] { @include appearance("macchiato"); }
|
|
}
|
|
@media (prefers-color-scheme: light) {
|
|
body[data-theme="auto"] { @include appearance("latte"); }
|
|
}
|
|
|
|
// -------------------------------------------- //
|
|
|
|
html, body {
|
|
background-color: var(--bg);
|
|
color: var(--text);
|
|
}
|
|
h1, h2, h3, h4, h5, h6 {
|
|
color: var(--headings);
|
|
}
|
|
p, strong, b, em, small, li, hr, table, figcaption {
|
|
color: var(--text);
|
|
}
|
|
.highlight, pre code, blockquote {
|
|
border-radius: 0.5em;
|
|
}
|
|
blockquote {
|
|
background-color: var(--bg-secondary);
|
|
border: 1px var(--border) solid;
|
|
}
|
|
a {
|
|
color: var(--links);
|
|
}
|
|
*:target { background-color: var(--bg-secondary); }
|
|
|
|
html.transition,
|
|
html.transition *,
|
|
html.transition *:before,
|
|
html.transition *:after {
|
|
transition: all 250ms !important;
|
|
transition-delay: 0 !important;
|
|
}
|
|
|
|
.theme-toggle {
|
|
color: var(--text);
|
|
background-color: transparent;
|
|
padding: 4px;
|
|
cursor: pointer;
|
|
margin: 1em;
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
border: 2px transparent solid;
|
|
outline: none;
|
|
}
|
|
|
|
.theme-toggle:hover {
|
|
color: var(--links);
|
|
outline: none;
|
|
}
|
|
.theme-toggle:focus {
|
|
outline: none;
|
|
}
|
|
.dashed {
|
|
border-top: 1px var(--text) dashed;
|
|
margin: 0.5em 0;
|
|
}
|
|
mark {
|
|
padding: 0.4em;
|
|
background-color: var(--highlight);
|
|
font-size: 0.6em;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
.post-date {
|
|
color: var(--text-secondary);
|
|
margin-top: 1rem;
|
|
font-size: 0.7em;
|
|
font-family: "Roboto Mono", "Courier New", monospace;
|
|
}
|
|
.home-date {
|
|
font-family: "Roboto Mono", "Courier New", monospace;
|
|
}
|
|
.post-list-item a {
|
|
text-decoration: none;
|
|
}
|
|
.text-bold {
|
|
font-weight: bold;
|
|
}
|
|
.text-upcase {
|
|
text-transform: uppercase;
|
|
letter-spacing: 1px;
|
|
}
|
|
p code, li code {
|
|
background-color: var(--bg-secondary);
|
|
padding: 0.2rem;
|
|
color: var(--code-text);
|
|
font-weight: bold;
|
|
}
|
|
.post-title {
|
|
margin-bottom:-1.5rem;
|
|
}
|
|
.project-title {
|
|
margin-bottom: 0.8rem;
|
|
}
|
|
.credits {
|
|
font-size: 0.8em;
|
|
color: var(--text);
|
|
margin: 8em auto -4em auto;
|
|
text-align: center;
|
|
a {
|
|
color: var(--text);
|
|
text-decoration: none;
|
|
font-weight: bold;
|
|
}
|
|
a:hover {
|
|
color: var(--links);
|
|
}
|
|
}
|
|
.tag {
|
|
font-family: "Roboto Mono", "Courier New", monospace;
|
|
color: var(--text-secondary);
|
|
padding: 0.4em 1em;
|
|
margin-right: 0.5em;
|
|
border-radius: 1em;
|
|
background-color: var(--bg-secondary);
|
|
font-size: 0.7em;
|
|
font-weight: bold;
|
|
text-transform: lowercase;
|
|
//border: 1px solid var(--text-secondary);
|
|
}
|