399 lines
6.9 KiB
CSS
399 lines
6.9 KiB
CSS
/* SPDX-License-Identifier: AGPL-3.0-only */
|
|
|
|
:root {
|
|
color-scheme: dark;
|
|
--ink: #fff9eb;
|
|
--muted: #c9c2dd;
|
|
--night: #100a25;
|
|
--deep: #251849;
|
|
--panel: #30235a;
|
|
--panel-light: #453476;
|
|
--pink: #ff74b8;
|
|
--cyan: #70e6e1;
|
|
--yellow: #ffe38a;
|
|
--line: #8e75c4;
|
|
--shadow: #090617;
|
|
--focus: #fff3a8;
|
|
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
|
font-size: 16px;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html {
|
|
min-width: 20rem;
|
|
background: var(--night);
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
color: var(--ink);
|
|
background-color: var(--night);
|
|
background-image:
|
|
linear-gradient(45deg, rgb(112 230 225 / 4%) 25%, transparent 25%),
|
|
linear-gradient(-45deg, rgb(255 116 184 / 4%) 25%, transparent 25%),
|
|
linear-gradient(45deg, transparent 75%, rgb(112 230 225 / 4%) 75%),
|
|
linear-gradient(-45deg, transparent 75%, rgb(255 116 184 / 4%) 75%);
|
|
background-position: 0 0, 0 8px, 8px -8px, -8px 0;
|
|
background-size: 16px 16px;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
a {
|
|
color: var(--cyan);
|
|
text-underline-offset: 0.18em;
|
|
text-decoration-thickness: 0.1em;
|
|
}
|
|
|
|
a:hover {
|
|
color: var(--yellow);
|
|
}
|
|
|
|
a:focus-visible {
|
|
color: var(--night);
|
|
background: var(--focus);
|
|
outline: 0.2rem solid var(--focus);
|
|
outline-offset: 0.2rem;
|
|
}
|
|
|
|
code,
|
|
pre {
|
|
font-family: "Courier New", Courier, monospace;
|
|
}
|
|
|
|
code {
|
|
color: var(--yellow);
|
|
}
|
|
|
|
.skip-link {
|
|
position: fixed;
|
|
z-index: 10;
|
|
top: 0.8rem;
|
|
left: 0.8rem;
|
|
padding: 0.65rem 0.9rem;
|
|
color: var(--night);
|
|
background: var(--focus);
|
|
transform: translateY(-180%);
|
|
}
|
|
|
|
.skip-link:focus {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.masthead {
|
|
border-bottom: 0.3rem ridge var(--pink);
|
|
background:
|
|
radial-gradient(circle at 20% 20%, rgb(112 230 225 / 16%), transparent 28rem),
|
|
linear-gradient(180deg, var(--deep), var(--night));
|
|
text-align: center;
|
|
}
|
|
|
|
.status-strip {
|
|
padding: 0.45rem 1rem;
|
|
color: var(--night);
|
|
background: repeating-linear-gradient(
|
|
-45deg,
|
|
var(--yellow),
|
|
var(--yellow) 0.7rem,
|
|
#ffd35a 0.7rem,
|
|
#ffd35a 1.4rem
|
|
);
|
|
border-bottom: 0.15rem solid #6c5414;
|
|
font-size: 0.78rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.03em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.masthead-inner,
|
|
main,
|
|
footer {
|
|
width: min(70rem, calc(100% - 2rem));
|
|
margin-inline: auto;
|
|
}
|
|
|
|
.masthead-inner {
|
|
padding: 4rem 0 4.5rem;
|
|
}
|
|
|
|
.compact .masthead-inner {
|
|
padding-block: 3rem;
|
|
}
|
|
|
|
.eyebrow {
|
|
margin: 0 0 0.8rem;
|
|
color: var(--pink);
|
|
font-size: 0.82rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.16em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.wordmark {
|
|
width: fit-content;
|
|
max-width: 100%;
|
|
margin: 0 auto 1.5rem;
|
|
overflow: hidden;
|
|
color: var(--cyan);
|
|
font-size: clamp(0.72rem, 2.8vw, 1.05rem);
|
|
font-weight: 700;
|
|
line-height: 1.15;
|
|
text-align: left;
|
|
text-shadow: 0.12rem 0.12rem 0 var(--pink);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
p {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
h1 {
|
|
max-width: 19ch;
|
|
margin: 0 auto;
|
|
font-family: Georgia, "Times New Roman", serif;
|
|
font-size: clamp(2.25rem, 7vw, 4.8rem);
|
|
line-height: 1.02;
|
|
text-wrap: balance;
|
|
text-shadow: 0.18rem 0.18rem 0 var(--shadow);
|
|
}
|
|
|
|
.compact h1 {
|
|
font-size: clamp(2rem, 6vw, 3.8rem);
|
|
}
|
|
|
|
.lede {
|
|
max-width: 47rem;
|
|
margin: 1.5rem auto 0;
|
|
color: var(--muted);
|
|
font-size: clamp(1.05rem, 2.5vw, 1.28rem);
|
|
}
|
|
|
|
.button-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 0.8rem;
|
|
margin-top: 2rem;
|
|
}
|
|
|
|
.button-row a {
|
|
padding: 0.7rem 1rem;
|
|
color: var(--night);
|
|
background: var(--cyan);
|
|
border: 0.15rem outset #c6ffff;
|
|
box-shadow: 0.18rem 0.18rem 0 var(--shadow);
|
|
font-weight: 700;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.button-row a:nth-child(2) {
|
|
background: var(--pink);
|
|
border-color: #ffc2df;
|
|
}
|
|
|
|
.button-row a:active {
|
|
border-style: inset;
|
|
box-shadow: none;
|
|
transform: translate(0.12rem, 0.12rem);
|
|
}
|
|
|
|
.mirror-note {
|
|
margin: 1rem auto 0;
|
|
color: var(--muted);
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
main {
|
|
display: grid;
|
|
gap: 1.5rem;
|
|
padding-block: 2rem 4rem;
|
|
}
|
|
|
|
.panel {
|
|
position: relative;
|
|
padding: clamp(1.25rem, 4vw, 2.5rem);
|
|
background: linear-gradient(135deg, var(--panel), #271c4a);
|
|
border: 0.2rem ridge var(--line);
|
|
box-shadow: 0.35rem 0.35rem 0 var(--shadow);
|
|
}
|
|
|
|
.panel h2 {
|
|
margin: 0 0 1rem;
|
|
color: var(--yellow);
|
|
font-family: Georgia, "Times New Roman", serif;
|
|
font-size: clamp(1.55rem, 4vw, 2.35rem);
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.panel h3 {
|
|
margin-top: 0;
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.panel p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.code-panel {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
|
|
gap: 2rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.sticker {
|
|
display: inline-block;
|
|
margin: 0 0 1rem;
|
|
padding: 0.25rem 0.55rem;
|
|
color: var(--night);
|
|
background: var(--pink);
|
|
border: 0.12rem outset #ffd2e8;
|
|
font: 700 0.72rem/1 Verdana, sans-serif;
|
|
text-transform: uppercase;
|
|
transform: rotate(-2deg);
|
|
}
|
|
|
|
.code {
|
|
margin: 0;
|
|
padding: 1.25rem;
|
|
overflow-x: auto;
|
|
color: var(--ink);
|
|
background: #0c0919;
|
|
border: 0.15rem inset var(--line);
|
|
font-size: clamp(0.78rem, 1.8vw, 0.96rem);
|
|
line-height: 1.5;
|
|
tab-size: 2;
|
|
}
|
|
|
|
.code code {
|
|
color: inherit;
|
|
}
|
|
|
|
.cards {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
|
|
.cards article {
|
|
padding: 1rem;
|
|
background: rgb(16 10 37 / 55%);
|
|
border: 0.1rem solid var(--line);
|
|
}
|
|
|
|
.origin {
|
|
display: grid;
|
|
grid-template-columns: auto minmax(0, 1fr);
|
|
gap: 1.5rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.pixel-heart {
|
|
color: var(--pink);
|
|
font-family: "Courier New", monospace;
|
|
font-size: clamp(4rem, 12vw, 7rem);
|
|
line-height: 1;
|
|
text-shadow:
|
|
0.16rem 0 var(--pink),
|
|
-0.16rem 0 var(--pink),
|
|
0 0.16rem var(--pink),
|
|
0.3rem 0.3rem 0 var(--shadow);
|
|
}
|
|
|
|
.checklist {
|
|
display: grid;
|
|
gap: 0.55rem;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.checklist span {
|
|
margin-right: 0.5rem;
|
|
color: var(--cyan);
|
|
}
|
|
|
|
.honesty-box {
|
|
padding: 1rem;
|
|
color: var(--night);
|
|
background: var(--yellow);
|
|
border: 0.18rem outset #fff0b9;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.names dl {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 0.7rem;
|
|
}
|
|
|
|
.names dl div {
|
|
padding: 0.8rem;
|
|
background: rgb(16 10 37 / 55%);
|
|
border-left: 0.3rem solid var(--pink);
|
|
}
|
|
|
|
.names dt {
|
|
color: var(--cyan);
|
|
font-size: 0.78rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.names dd {
|
|
margin: 0.2rem 0 0;
|
|
}
|
|
|
|
footer {
|
|
padding-block: 2rem 3rem;
|
|
color: var(--muted);
|
|
border-top: 0.1rem dashed var(--line);
|
|
text-align: center;
|
|
}
|
|
|
|
.fine-print {
|
|
font-size: 0.78rem;
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
.code-panel,
|
|
.cards,
|
|
.names dl {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.origin {
|
|
grid-template-columns: 1fr;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
html {
|
|
scroll-behavior: auto;
|
|
}
|
|
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
scroll-behavior: auto !important;
|
|
transition-duration: 0.01ms !important;
|
|
}
|
|
}
|
|
|
|
@media (forced-colors: active) {
|
|
.panel,
|
|
.cards article,
|
|
.names dl div,
|
|
.button-row a,
|
|
.honesty-box {
|
|
border: 0.12rem solid CanvasText;
|
|
box-shadow: none;
|
|
}
|
|
}
|