diff options
| author | delta <darkussdelta@gmail.com> | 2026-07-25 11:42:01 +0200 |
|---|---|---|
| committer | delta <darkussdelta@gmail.com> | 2026-07-25 11:43:48 +0200 |
| commit | 95ceed33d3adec472f4a1b5d3517baf645766e44 (patch) | |
| tree | 94d8779483e49f7afe624a15e9d271e6f8fbe430 /assets/css/main.css | |
| parent | ae36b044f1fc36cd5587b0d3111c2ee72cf0c03f (diff) | |
site rework!!
Diffstat (limited to 'assets/css/main.css')
| -rw-r--r-- | assets/css/main.css | 377 |
1 files changed, 85 insertions, 292 deletions
diff --git a/assets/css/main.css b/assets/css/main.css index 32ea47d..504fd15 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -32,6 +32,7 @@ --pink-bright: oklch(90% 0.06662 9.2146); --border-radius: 5px; + --border-radius-big: calc(var(--border-radius) * 4); --border-width: 1px; --padding: 5px; --padding-big: 10px; @@ -40,38 +41,32 @@ } body { - font-family: "Aporetic", "Open Sans", sans-serif; - background-color: var(--bg); + font-family: "Aporetic", "Aporetic Fallback"; + background-color: var(--bg-lowest); background-repeat: repeat; - color: var(--fg); + color: var(--bg); display: flex; - gap: var(--padding-big); min-height: 100vh; - padding: var(--padding-big); + padding: calc(var(--padding-big) * 2); + padding-bottom: 0; box-sizing: border-box; position: relative; -} - -#deco { - overflow: hidden; - position: fixed; - width: 100%; - height: 100%; - left: 0; - top: 0; - z-index: -1; + scroll-behavior: smooth; + flex-direction: column; } #triangles { content: ""; - width: 200%; - height: 200%; - background-image: url("/assets/triangle.svg"); - position: absolute; - transform: translate(-50%, -50%) rotate(22.5deg); + /* cos(22.5deg) sin(22.5deg) */ + width: calc(100vw * 0.92387953 + 100vh * 0.38268343); + height: calc(100vh * 0.92387953 + 100vw * 0.38268343); + position: fixed; left: 50%; top: 50%; - z-index: -2; + z-index: 2; + background-image: url("/assets/triangle.svg"); + opacity: 0.075; + transform: translate(-50%, -50%) rotate(22.5deg); animation: scroll 16s linear infinite; } @@ -87,323 +82,121 @@ body { } } -#rainbow { - --bar-size: 0.3em; - position: absolute; - z-index: -1; - bottom: 0; - right: 0; - aspect-ratio: 1 / 1; - height: calc(var(--bar-size) * 14); /* magic number */ - background-image: linear-gradient( - -45deg, - transparent, - transparent var(--bar-size), - var(--blue) var(--bar-size), - var(--blue) calc(var(--bar-size) * 2), - transparent calc(var(--bar-size) * 2), - transparent calc(var(--bar-size) * 3), - var(--green) calc(var(--bar-size) * 3), - var(--green) calc(var(--bar-size) * 4), - transparent calc(var(--bar-size) * 4), - transparent calc(var(--bar-size) * 5), - var(--yellow) calc(var(--bar-size) * 5), - var(--yellow) calc(var(--bar-size) * 6), - transparent calc(var(--bar-size) * 6), - transparent calc(var(--bar-size) * 7), - var(--orange) calc(var(--bar-size) * 7), - var(--orange) calc(var(--bar-size) * 8), - transparent calc(var(--bar-size) * 8), - transparent calc(var(--bar-size) * 9), - var(--red) calc(var(--bar-size) * 9), - var(--red) calc(var(--bar-size) * 10), - transparent calc(var(--bar-size) * 10) - ); -} - -/* - * failsafe for when the viewport is too small and the rainbow overlaps the text - */ -main > div, -footer, -nav > ul { - background-color: var(--bg); - box-shadow: var(--bg) 0 0 32px 8px; - border-radius: var(--border-radius); -} - -#upper { - display: flex; - flex-direction: column; - flex-grow: 1; -} - -#upper > div { - flex-grow: 1; - display: flex; - flex-direction: column; - gap: var(--padding-big); - align-items: center; -} - .subtle { color: var(--fg-low); } main { flex-grow: 1; - width: 80vw; line-height: 1.4; + padding: calc(var(--padding-big) * 2); + display: flex; + justify-content: center; box-sizing: border-box; + background-color: var(--yellow); + border-radius: var(--border-radius-big); + overflow: hidden; + text-wrap: pretty; } -nav { - z-index: 999; -} - -nav > ul > li { - display: inline; +main > div { + max-width: 70%; + z-index: 3; + position: relative; } -main, nav { - padding: var(--padding-big); -} - -nav li:not(:last-of-type)::after, -footer > div > span:not(:last-of-type)::after { - content: ""; - border-left: calc(var(--border-width) * 1) solid var(--border); - margin-left: var(--padding); - margin-right: var(--padding); - display: inline-block; - vertical-align: baseline; - height: 1cap; -} - -footer > div { - line-height: 1.5; + padding-bottom: 0; + position: relative; } -footer { - text-align: center; - padding: var(--padding); - font-size: 0.8em; +nav > ul { display: flex; - flex-direction: column; - gap: var(--padding); + gap: calc(var(--padding) + var(--border-radius) * 2); + padding-left: calc(var(--border-radius-big) + var(--padding-big)); } -a, -a:link { - color: var(--yellow); +nav .tab { + --color: var(--bg); + display: block; + color: var(--fg); + border-radius: var(--border-radius) var(--border-radius) 0 0; + background-color: var(--color); + position: relative; } -a:not(.volatile):visited { - color: var(--pink); +nav .tab:not(.active) { + z-index: 3 } -a:focus, -a:hover { - color: var(--yellow-bright); +nav .tab:hover { + --color: var(--bg-high); } -a:active { - color: var(--yellow); +nav .tab.active { + --color: var(--yellow); + color: var(--bg); } -.anchor { - order: -1; +nav .tab > a { + padding: var(--padding-big); + display: block; + color: inherit; text-decoration: none; + z-index: 3; + position: relative; } -a.anchor:link, a.anchor:visited { - color: var(--fg-low); -} - -a.anchor:focus, -a.anchor:hover { - color: var(--yellow-bright); -} - -a.anchor:active { - color: var(--yellow); +nav .tab > a:focus-visible { + border-radius: var(--border-radius) var(--border-radius) 0 0; + outline: var(--blue) solid calc(var(--border-radius) + 1px); + outline-offset: 0; } -.anchor::after { - content: "#"; +footer { + text-align: center; + color: var(--fg); + border-radius: var(--border-radius-big) var(--border-radius-big) 0 0; + padding: var(--padding-big); font-size: 0.8em; + position: relative; + background-color: var(--bg-lowest); + z-index: 3; } -h1, h2 { - line-height: 1; - display: flex; - align-items: center; - gap: var(--padding-big); -} - -.anchor::before { - content: ""; - height: var(--border-width); - background-color: var(--border); -} - -h1::after, h2::after { - content: ""; - height: var(--border-width); - background-color: var(--border); - flex-grow: 1; -} - -h1 { - font-size: 1.5em; -} - -h2 { - font-size: 1.25em; -} - -main li { - margin-left: var(--padding-big); - list-style-type: "- "; - list-style-position: inside; -} - -main li::marker { - color: var(--border); -} - -main ol, -main ul { - padding-top: var(--padding); - gap: var(--padding); +footer > div { display: flex; flex-direction: column; + gap: var(--padding); } -p, -pre, -h1, h2 -{ - margin-top: 0.8em; -} - -main > :last-child { - margin-bottom: 0; -} - -strong { - font-weight: bold; -} - -code { - border-radius: var(--border-radius); - padding-inline: calc(var(--padding) / 2); - font-family: "Aporetic Mono", monospace; - border: var(--border-width) solid var(--border); - overflow-wrap: anywhere; -} - -pre { - overflow: hidden; +footer > div > div { + line-height: 1.5; } -pre > code { - display: block; - padding: calc(var(--padding) * 2); - position: relative; - line-height: 1.3; - overflow-wrap: break-word; - background: transparent; - overflow-x: scroll; +footer > div > div > span:not(:last-of-type)::after { + content: ""; + border-left: calc(var(--border-width) * 1) solid var(--border); + margin-left: var(--padding); + margin-right: var(--padding); + display: inline-block; + vertical-align: baseline; + height: 1cap; } -pre > code[data-lang]::after { - content: attr(data-lang); - position: absolute; - top: 0; - right: 0; - padding: var(--padding); - border-radius: 0 var(--border-radius); - border-bottom: var(--border-width) solid var(--border); - border-left: var(--border-width) solid var(--border); - background-color: var(--bg-high); - transition: transform 0.2s var(--easing); +footer a { + color: var(--fg); } -pre > code[data-lang]:hover::after { - transform: translateX(100%); +footer a:hover, +footer a:focus { + color: var(--yellow); } -@media (max-width: 130ch) { - aside { - padding: var(--padding-big); - font-size: 0.9em; - box-sizing: border-box; - border: var(--border-width) solid var(--border); - border-radius: var(--border-radius); - background-color: var(--bg-high); - position: relative; - margin-bottom: var(--padding-big); - margin-top: calc(var(--padding-big) + var(--arrow-size) / 2); - } - - aside::after, - aside::before { - content: ""; - border-right: var(--arrow-size) solid transparent; - border-left: var(--arrow-size) solid transparent; - position: absolute; - width: 0; - height: 0; - left: 50%; - transform: translateX(-50%); - } - - aside::before { - border-bottom: var(--arrow-size) solid var(--border); - top: calc(var(--arrow-size) * -1); - } - - aside::after { - border-bottom: var(--arrow-size) solid var(--bg-high); - top: calc(var(--arrow-size) * -1 + var(--border-width)); - } +main a { + color: inherit; } -@media (min-width: 130ch) { - aside { - position: absolute; - right: var(--padding-big); - max-width: calc(10vw - var(--padding-big)); - padding: var(--padding-big); - font-size: 0.9em; - box-sizing: border-box; - border: var(--border-width) solid var(--border); - border-radius: var(--border-radius); - background-color: var(--bg-high); - transform: translateY(calc(-50% - 1lh)); - } - - aside::after, - aside::before { - content: ""; - border-top: var(--arrow-size) solid transparent; - border-bottom: var(--arrow-size) solid transparent; - position: absolute; - width: 0; - height: 0; - top: 50%; - transform: translateY(-50%); - } - - aside::before { - border-right: var(--arrow-size) solid var(--border); - left: calc(var(--arrow-size) * -1); - } - - aside::after { - border-right: var(--arrow-size) solid var(--bg-high); - left: calc(var(--arrow-size) * -1 + var(--border-width)); - } +.wavy { + font-size: 3em; } |
