:root { --light-text: #181715; --light-bg: #ffffff; --light-border: #181715; --dark-text: #ffffff; --dark-bg: #181715; --dark-border: #ffffff; --hightlight: #72dec2; --border: var(--light-border); --text: var(--light-text); --bg: var(--light-bg); } body.dark { --border: var(--dark-border); --text: var(--dark-text); --bg: var(--dark-bg); } @font-face { font-family: "Iosevka"; src: url("/font/iosevka-regular.woff") format("woff"); } * { box-sizing: border-box; margin: 0; padding: 0; word-break: break-word; } html, body { width: 100%; height: 100%; color: var(--text); background: var(--bg); } body { display: grid; grid-template: "header" 4rem "main" 1fr "footer" 4rem / 1fr; gap: 0; font-family: "Iosevka"; } header, footer { display: flex; justify-content: space-between; align-items: center; padding: 0 3rem; } header { grid-area: header; border-bottom: 2px solid var(--border); } footer { grid-area: footer; border-top: 2px solid var(--border); } main { grid-area: main; padding: 3rem; font-size: 1.3rem; line-height: 2rem; overflow: auto; .page-wrap { margin: 0 auto; max-width: 1152px; h1 { margin-bottom: 2rem; font-weight: normal; font-size: 1.5em; font-variant-caps: small-caps; } a { text-decoration: underline; } } } a, a:visited { text-decoration: none; color: var(--text); &:hover, &:focus { background-color: var(--hightlight); text-decoration: line-through var(--text); } } #logo { display: flex; flex-direction: row; gap: 0.5rem; font-size: 2.5rem; font-weight: bold; font-variant: small-caps; img { width: 3rem; } } #theme-switcher { border: 3px solid var(--border); width: 1.5rem; height: 1.5rem; border-radius: 3rem; margin-left: auto; background: linear-gradient( 90deg, var(--border) 0%, var(--border) 50%, var(--bg) 51%, var(--bg) 100% ); } #theme-switcher:hover { border-color: var(--hightlight); background: linear-gradient( 90deg, var(--hightlight) 0%, var(--hightlight) 50%, var(--bg) 51%, var(--bg) 100% ); } .lang { font-size: 2rem; } #mesh { position: absolute; bottom: 4rem; right: 0; user-select: none; pointer-events: none; } .links { display: flex; gap: 2rem; & > a { border-radius: 100%; & > img { display: block; } } } .hamburger { display: none; } nav { font-variant: small-caps; display: flex; flex-direction: row; gap: 2rem; font-size: 2rem; } button { font-style: italic; font-weight: lighter; border: none; background: var(--bg); color: var(--text); margin: 0 2rem 0 0; cursor: pointer; } .cover-wrap { margin-bottom: 3rem; } @media screen and (max-height: 860px), screen and (max-width: 1500px) { #mesh { display: none; } } @media screen and (max-width: 1160px) { nav.menu { flex-direction: column; border: 2px solid var(--border); border-bottom: 0; border-left: 0; background-color: var(--bg); position: absolute; bottom: calc(4rem); left: 0; align-items: center; padding: 2rem 3rem; display: none; &.open { display: flex; flex-direction: column; } } .hamburger { display: block !important; } } @media screen and (max-width: 540px) { #logo { font-size: 2.2rem; } main { padding: 1rem; } .links { gap: 1.2rem; a { width: 1.5rem; } } header, footer { padding: 0 1rem; } #theme-switcher { margin-right: 1rem; } }