/* fonts */ @font-face { font-family: "Comic Mono"; font-weight: normal; font-style: normal; font-display: swap; src: url('/static/ComicMono.ttf'); } @font-face { font-family: "Comic Mono"; font-weight: bold; font-style: normal; font-display: swap; src: url('/static/ComicMono-Bold.ttf'); } @font-face { font-family: 'Comic Neue'; src: local('Comic Neue Italic'), local('ComicNeue-Italic'), url('/static/ComicNeue-Italic.woff2') format('woff2'); font-weight: normal; font-style: italic; font-display: swap; } @font-face { font-family: 'Comic Neue'; src: local('Comic Neue Bold'), local('ComicNeue-Bold'), url('/static/ComicNeue-Bold.woff2') format('woff2'); font-weight: bold; font-style: normal; font-display: swap; } @font-face { font-family: 'Comic Neue'; src: local('Comic Neue Bold Italic'), local('ComicNeue-BoldItalic'), url('/static/ComicNeue-BoldItalic.woff2') format('woff2'); font-weight: bold; font-style: italic; font-display: swap; } @font-face { font-family: 'Comic Neue'; src: local('Comic Neue Regular'), local('ComicNeue-Regular'), url('/static/ComicNeue-Regular.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: swap; } /* main */ :root { /* kaolin valley light */ --background: #faf2e9; --brbackground: #ebd7be; --foreground: #5e5854; --brforeground: #6b6560; --border: #f0dfca; --black: #5e5854; --brblack: #544b44; --red: #d42215; --green: #0d7a75; --yellow: #d1832e; --blue: #526af3; --magenta: #cf44ac; --cyan: #0bc9cf; --white: #ebd7be; } @media (prefers-color-scheme: dark) { :root { /* kaolin valley dark */ --background: #1c1616; --brbackground: #5e5854; --foreground: #eee6d3; --brforeground: #c7c2af; --border: #2e2a29; --black: #28211e; --brblack: #544b44; --red: #e84c58; --green: #91f368; --yellow: #eed891; --blue: #41b0f3; --magenta: #cea2ca; --cyan: #6bd9db; --white: #eee6d3; } } html { color: var(--foreground); background-color: var(--background); } nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; } nav ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 1rem; } body { max-width: 720px; margin: 0 auto; padding: 1rem; font-family: "Comic Neue", "Comic Sans MS", sans-serif; } h2 { margin-bottom: 0; } a { color: var(--yellow); text-decoration: none; } a:hover { text-decoration: underline; } a:visited { color: var(--green); } article { margin: 0 auto; line-height: 1.3; } article img { display: block !important; margin: 0 auto !important; max-width: 90%; } @media (max-width: 640px) { article img { max-width: calc(100% - 2rem); } } footer { margin-top: 2rem; text-align: center; font-size: 0.8rem; color: var(--brblack); } pre { background-color: var(--brbackground); padding: 0.25rem 1rem; margin: 0 -1rem; max-width: 100%; overflow-x: auto; } pre, code { font-family: "Comic Code", "Comic Mono", monospace; } summary { cursor: pointer; background-color: var(--brbackground); padding: 0.25rem 1rem; margin: 0 -1rem; } details[open] { border-bottom: 1rem solid var(--border); margin: 0 -1rem 1rem; padding: 0 1rem; } blockquote { border-left: 5px solid var(--border); background-color: var(--brbackground); padding: 0 1rem; margin-left: calc(-1rem - 5px); margin-right: -1rem; } .text-center { text-align: center; } .date { font-family: "Comic Code", "Comic Mono", monospace; }