/* ------------------- */ /* Custom Properties */ /* ------------------- */ :root { --clr-body-bg: #08031A; --clr-body-txt: #fceaff; --clr-content-bg: #3d2163; --clr-top-btn-bg: #FFD05A; --clr-top-btn-txt: #08031A; --clr-main-heading: #ED64F5; --clr-sub-heading: #e8b86f; --clr-title-border: #d3aad5; --clr-bold-txt: #ff9933; --clr-link: #f98bff; --clr-link-hover: #c355c9; --clr-quote-bg: #13092D; --clr-quote-border: #999999; --clr-cw-hover: #3a0000; --clr-code-bg: #241445; --clr-code-border: #82668f; --clr-dates: #79b8ff; --clr-link-btn-bg: #873eb5; --clr-link-btn-txt: white; --clr-link-btn-hover: #241445; --clr-hero-bg: black; --clr-navbar-bg: #222; --clr-navbar-link: white; --clr-main-footer-bg: #13092D; --clr-mod-entry-bg: #241445; --ff-default: 'Lexend', Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif; --ff-monospace: 'Intel One Mono', ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace; --fs-main: clamp(1.125rem, 1.104rem + 0.107vw, 1.2rem); --fs-h1: clamp(2rem, 1.8rem + 1vw, 2.7rem); --fs-h2: clamp(1.7rem, 1.557rem + 0.714vw, 2.2rem); --fs-h3: clamp(1.5rem, 1.414rem + 0.429vw, 1.8rem); --fs-h4: clamp(1.4rem, 1.343rem + 0.286vw, 1.6rem); --sz-paragraph-margin: 1.15em; --sz-main-padding: clamp(1rem, 5%, 4rem); --sz-navbar-ht: 4rem; --sz-external-link: 1.25em; --sz-content-list-gap: 0.7em; --ht-sticky-sidebar: 89vh; } /* ------------------- */ /* CSS Reset */ /* ------------------- */ @layer reset { /* Box sizing rules */ *, *::before, *::after { box-sizing: border-box; } /* Prevent font size inflation */ html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; } /* Remove default margin in favour of better control in authored CSS */ body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ ul[role='list'], ol[role='list'] { list-style-type: ""; } /* Set core body defaults */ body { min-height: 100vh; line-height: 1.5; } /* Set shorter line heights on headings and interactive elements */ h1, h2, h3, h4, button, input, label { line-height: 1.1; } /* Balance text wrapping on headings */ h1, h2, h3, h4 { text-wrap: balance; } /* A elements that don't have a class get default styles */ a:not([class]) { text-decoration-skip-ink: auto; } /* Make images easier to work with */ img, picture { max-width: 100%; display: block; } /* Inherit fonts for inputs and buttons */ input, button, textarea, select { font: inherit; } /* Make sure textareas without a rows attribute are not tiny */ textarea:not([rows]) { min-height: 10em; } /* Anything that has been anchored to should have extra scroll margin */ :target { scroll-margin-block: 5ex; } }