:root{--red:#e74c3c;--orange:#f39c12;--yellow:#f1c40f;--green:#27ae60;--teal:#1abc9c;--blue:#3498db;--purple:#9b59b6;--pink:#e84393;--bg:#141414;--card:#1e1e1e;--text:#e4e7e9;--white:#f1f1f1;--muted:#b8bec2;--rb-red:#b03a2e;--rb-orange:#c27c0e;--rb-yellow:#b7950b;--rb-green:#1e8449;--rb-teal:#148f77;--rb-blue:#2874a6;--rb-purple:#7d3c98;--rb-pink:#b0306f;--rainbow:linear-gradient(90deg, var(--rb-red), var(--rb-orange), var(--rb-yellow), var(--rb-green), var(--rb-teal), var(--rb-blue), var(--rb-purple), var(--rb-pink), var(--rb-red))}html{scroll-behavior:smooth}h2,[id]{scroll-margin-top:1rem}body{margin:0;font:19px/1.45 segoe ui,dejavu sans,liberation sans,Arial,sans-serif;color:var(--text);background:var(--bg)fixed linear-gradient(120deg,#e843931a,#f39c1214,#27ae6014,#1abc9c1a,#3498db1a,#9b59b61a,#e843931a);background-size:400% 400%;animation:drift 60s ease-in-out infinite}@keyframes drift{50%{background-position:100%}}@keyframes flow{to{background-position:200% 0}}.page{max-width:920px;margin:0 auto;padding:2.5rem 1.5rem}section{margin-bottom:1.5rem;padding:1.75rem;border:2px solid transparent;border-radius:.5rem;background:linear-gradient(var(--card),var(--card))padding-box,var(--rainbow)border-box;background-size:100% 100%,200% 100%;animation:flow 8s linear infinite}section>:last-child{margin-bottom:0}img{max-width:100%;height:auto}.icon{float:left;height:2.8em;width:auto;margin:0 .75em 0 0;border-radius:.2em}.icon-invert{filter:invert(1)}#pink-arrows .icon,#yggdrasil .icon,#forgejo .icon{height:2.4em}.banner{margin-bottom:1.5rem}.banner img{display:block;margin:0 auto}.footer-box{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem;align-items:center}.footer-email{font-size:.9rem;overflow-wrap:anywhere}.footer-email.left{grid-column:1;grid-row:2;text-align:left}.footer-email.right{grid-column:3;grid-row:2;text-align:right}.footer-commit{grid-column:2;grid-row:2}@media(min-width:641px){.footer-box{row-gap:.5rem}}p{margin:0 0 .7rem}h2{width:fit-content;margin:0 0 .75rem;font-size:1.45rem;background:var(--rainbow);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 12s linear infinite}b,strong{color:var(--white)}i,em{color:var(--pink)}ul,ol{list-style:none;margin:0 0 .9rem;padding:0}ol{counter-reset:step}ol>li::before{counter-increment:step;content:counter(step)". ";font-weight:700;color:var(--white)}li{display:flow-root;--base:var(--teal);--accent:color-mix(in srgb, var(--base) 50%, black);margin-bottom:.5rem;padding:.45rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-left:3px solid var(--accent);border-radius:0 .375rem .375rem 0;background:color-mix(in srgb,var(--accent) 14%,transparent)}li:nth-child(7n+2){--base:var(--blue)}li:nth-child(7n+3){--base:var(--purple)}li:nth-child(7n+4){--base:var(--pink)}li:nth-child(7n+5){--base:var(--red)}li:nth-child(7n+6){--base:var(--orange)}li:nth-child(7n+7){--base:var(--green)}li p{margin:.3rem 0 0}li>ul{margin:.4rem 0 .1rem}li li{font-size:.9rem}section:not(.intro):not(.links) b,section:not(.intro):not(.links) strong{color:var(--blue)}section:not(.intro):not(.links) a b,section:not(.intro):not(.links) a strong{color:inherit}h3{color:var(--teal);border-bottom:1px solid color-mix(in srgb,var(--teal) 35%,transparent);padding-bottom:.2em;margin-top:1.4em}h4{color:var(--purple)}code{color:var(--green)}a{color:var(--white);text-decoration:none;border-bottom:2px solid var(--teal)}a:hover,a:focus-visible{outline:none;border-bottom-color:transparent;text-decoration:underline wavy var(--rb-blue);text-decoration-thickness:2px;text-underline-offset:.25em;background:var(--rainbow);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 4s linear infinite}.intro{text-align:center}.links{font-size:1rem;line-height:1.5;color:var(--muted);text-align:center}.links footer{font-size:.8rem;overflow-wrap:anywhere}@media(max-width:640px){.footer-box{grid-template-columns:1fr}.footer-email.left,.footer-email.right,.footer-commit{grid-column:auto;grid-row:auto;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,section,h2,a:hover,a:focus-visible{animation:none}}.intro h2{margin-left:auto;margin-right:auto}.icon-inline{display:inline-block;height:1.6em;width:auto;margin:0 .4em 0 0;vertical-align:middle}section:not(.intro):not(.links) a b,section:not(.intro):not(.links) a strong{color:inherit}