/* * PoorBooru - Poorman's booru * * Written in 2023 by Lucas * * To the extent possible under law, the author(s) have dedicated all * copyright and related and neighboring rights to this software to the * public domain worldwide. This software is distributed without any * warranty. * * You should have received a copy of the CC0 Public Domain Dedication * along with this software. If not, see * . */ /* * Some parts copied from https://piccalil.li/blog/a-modern-css-reset/ */ :root { --dark-theme-bg: #0c0700; --dark-theme-text: #fff8f0; --dark-theme-accent: #ec57bc; --dark-theme-accent-hover: #f7be00; --light-theme-bg: #fff8f0; --light-theme-text: #0c0700; --light-theme-accent: #dc3a23; --light-theme-accent-hover: #4997ce; --bg: var(--dark-theme-bg); --text: var(--dark-theme-text); --accent: var(--dark-theme-accent); --accent-hover: var(--dark-theme-accent-hover); --viewport-width: 60rem; } *, *::before, *::after { box-sizing: border-box; } dd, dl, dt, h1, h2, p { margin: 0; } body { margin: 0 auto; min-height: 100vh; background-color: var(--bg); color: var(--text); font-family: monospace; font-size: 1.25rem; line-height: 2.4; } body > header { border-bottom: 0.0625rem solid var(--accent); margin-bottom: 0.1875rem; } body > main { padding-top: 1.5rem; border-top: 0.0625rem solid var(--accent); border-bottom: 0.0625rem solid var(--accent); } body > footer { border-top: 0.0625rem solid var(--accent); margin-top: 0.1875rem; } dl, h1, h2, p { margin-bottom: 1.5rem; } footer > p { margin-bottom: 0; } h1 { text-align: center; font-size: 3rem; line-height: 2; } h2 { font-size: 2.5rem; line-height: 1.2; } a, a:link, a:visited { color: var(--accent); } a:hover, a:active { color: var(--accent-hover); } img { max-width: 100%; height: auto; } dt { font-weight: bold; } dd { margin-left: 3rem; } .viewport { margin-left: auto; margin-right: auto; width: var(--viewport-width); } .border-top { border-top: 0.0625rem solid var(--accent); } .border-bottom { border-bottom: 0.0625rem solid var(--accent); } .text-center { text-align: center; } .text-small { font-size: 1rem; line-height: 3; } .main-nav { gap: 0 1rem; } .main-nav > a { font-weight: bold; text-decoration: none; } /* 0.5rem padding compensates the unused 1rem gap at the end. */ .gallery { align-items: center; gap: 1rem; padding: 0 0.5rem; } .gallery > a, .gallery > a:link, .gallery > a:visited { line-height: 0; max-height: 24rem; max-width: 14rem; outline-offset: 0.1875rem; outline: 0.0625rem solid; outline-color: var(--accent); } .gallery > a:hover, .gallery > a:active { outline-color: var(--accent-hover); } .flex-c-horizontal { display: flex; } .flex-c-vertical { display: flex; flex-direction: column; } .flex-c-center { display: flex; justify-content: center; align-items: center; } .flex-c-wrap { flex-wrap: wrap; } .flex-i-fullsize { flex: auto; } @media screen and (max-width: 30rem) { :root { --viewport-width: 100%; } } @media screen and (min-width: 30rem) { :root { --viewport-width: 30rem; } } @media screen and (min-width: 45rem) { :root { --viewport-width: 45rem; } } @media screen and (min-width: 60rem) { :root { --viewport-width: 60rem; } } @media screen and (min-width: 90rem) { :root { --viewport-width: 90rem; } }