:root { --highlight-gradient-1: #0011ff; --highlight-gradient-2: #e52e71; --featured-color: var(--highlight-gradient-1); } @media (prefers-color-scheme: dark) { --featured-color: var(--highlight-gradient-2); } @property --scrollbar { syntax: ""; inherits: true; initial-value: 0px; } html { container-type: inline-size; } body { --scrollbar: calc(100vw - 100cqw); } @keyframes highlightframes { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } input.theme-switch[type="checkbox"][role="switch"] { font-size: 120%; &:before { content: "🌣"; color: #333; font-weight: bold; overflow: hidden; display: flex; justify-content: center; align-items: center; font-size: 0.9em; } &:checked { background-color: rgb(50, 50, 94); &:before { content: "☽"; color: #ccc; background-color: rgb(22, 22, 65); margin-inline-start: calc(2.25em - 1.1em); } border: 2px solid #fff3; } } /* Homepage */ header { font-size: 120%; margin: 0; padding: 0; div.container { display: flex; justify-content: space-between; align-items: center; } a[role="button"] { font-size: 75%; } a.logo { text-decoration: none; font-weight: bold; color: #000; font-weight: 200; border-radius: 0.5ex; padding: 0.5ex; background: url(/logo-light.svg); background-size: contain; background-repeat: no-repeat; span { visibility: hidden; overflow: hidden; display: inline-block; width: 3em; height: 1ex; } } @media (max-width: 450px) { font-size: 100%; a.logo { background-size: 60px 36px; background-position: left top; padding: 0; span { display: block; height: 36px; } } nav ul li:first-child { display: none; } } } html[data-theme="dark"] { --featured-color: #85b8d1; header a.logo { background-image: url(/logo-dark.svg); color: white; } } @media (prefers-color-scheme: dark) { html:not([data-theme]) { --featured-color: #85b8d1; header a.logo { background-image: url(/logo-dark.svg); color: white; } } } /* Homepage-specific styles live in /homepage.css */ .simple-form { width: fit-content; max-width: 550px; margin: 0 auto; } .form { width: fit-content; max-width: 550px; } body { display: flex; flex-direction: column; min-height: 100vh; } footer { border-top: 1px solid var(--pico-muted-border-color); margin-top: auto; padding-block: 1.5rem; font-family: var(--pico-font-family-monospace); font-size: 0.8125rem; color: var(--pico-muted-color); .footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; } .footer-left a { color: var(--pico-color); text-decoration: none; &:hover { color: var(--pico-primary); } } .footer-links { display: flex; gap: 1.25rem; a { color: var(--pico-muted-color); text-decoration: none; &:hover { color: var(--pico-primary); } } } @media (max-width: 560px) { .footer-inner { justify-content: center; text-align: center; } } } fieldset a.hint { font-size: 90%; display: block; color: #666; text-align: right; } @property --bg-x { syntax: ""; inherits: false; initial-value: 0%; } @property --bg-y { syntax: ""; inherits: false; initial-value: 0%; } @keyframes nicebg { 0% { --bg-x: 0%; --bg-y: 0%; } 25% { --bg-x: 100%; --bg-y: 0%; } 50% { --bg-x: 100%; --bg-y: 100%; } 75% { --bg-x: 0%; --bg-y: 100%; } 100% { --bg-x: 0%; --bg-y: 0%; } } @media (min-width: 800px) { main.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; justify-items: center; min-height: 100vh; gap: 0; padding: 0; background: linear-gradient( 90deg, transparent 50%, rgba(0, 13, 37, 0.333) 50%, #0001 70% ); margin: 0; section { padding: 1em; } aside { background-color: #0245; background: radial-gradient( at var(--bg-x) var(--bg-y), #f442, #44b2, transparent ), radial-gradient( at calc(100% - var(--bg-x)) calc(100% - var(--bg-y)), #4aa2, #44b2, transparent ), conic-gradient(at 50% -10%, #f443, #44b3, #4aa3, #f443); width: 100%; height: 100%; animation: nicebg 30s linear infinite; @media (prefers-reduced-motion: reduce) { animatioan: none; } } header { margin-bottom: 1em; text-align: center; div.container { display: block; } } & + footer { margin-top: 0; } } } p.error { border: 1px solid var(--pico-form-element-invalid-border-color); padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); border-radius: var(--pico-border-radius); background-color: rgb(184, 106, 107, 0.15); color: darkred; } main.sidebar header div.container-fluid { display: flex; justify-content: space-between; align-items: center; } @media (min-width: 800px) { main.sidebar { display: grid; grid-template-columns: 20% 80%; grid-template-rows: auto 1fr; header { grid-column: 1 / -1; grid-row: 1; border-bottom: 1px solid var(--pico-form-element-border-color); } section { grid-column: 2; grid-row: 2; padding: 1em; } aside { grid-column: 1; grid-row: 2; border-right: 1px solid var(--pico-form-element-border-color); padding: 1em; } } body:has(main.sidebar) { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; main.sidebar { grid-row: 2; margin: 0; padding: 0; } footer { grid-row: 3; margin: 0; } } } .header-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1em; label { grid-column: 1/-1; } } label[data-tooltip] { border-bottom: none; } #dashboard-contents ul { padding-left: 0; li { list-style-type: none; } } li.separator { border-bottom: 1px dotted rgba(0, 0, 0, 0.1); padding: 0; margin: 1em 0; } button.outline.danger { border: 1px solid #ec4022; color: #c9381e; background-color: transparent; &:hover { background-color: #ec4022; color: white; } } h1#notfound { font-size: 300%; text-align: center; margin-top: 2em; & + p { text-align: center; font-size: 150%; margin-top: 1em; } } section.text { max-width: 700px; margin-inline: auto; h2 { margin-bottom: .5em; } h3 { margin-top: 1em; } } @media (min-width: 1000px) { main:has(aside.toc) { display: flex; gap: 1em; section.text { margin-left: 0; } } } .contact { article{ max-width: 600px; margin-right: auto; #subject { display: none; } } } main.split label.website { display: none; } form.inline { display: inline; input[type="submit"] { display: inline-block; width: auto; height: auto; padding: 1ex; margin-inline: 1ex; line-height: 1rem;; } } ul.users-list li.banned { opacity: 0.5; a { text-decoration: line-through; } }