blog/_sass/moonwalk.scss

215 lines
4.4 KiB
SCSS
Raw Normal View History

2024-06-11 12:17:26 +02:00
// @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);
}