This document outlines the design system, colors, typography, and component styles used throughout the Retro Computer Dresden website.
--accent-color: #E74E52 /* Red - Primary accent */
--secondary-color: #30B2A1 /* Teal - Secondary accent */
--primary-color: #ED9055 /* Orange - Primary brand color */--background-color: #181818 /* Dark background */
--accent-background-color: #111 /* Very dark accent background */--text-color: #eee /* Light text */#ffffff - Dividers, borders#ccc - Secondary text, captions#999 - Muted text#666 - Disabled states#2d2d2d - Code blocks#595959 - Input borders#8dff80 - Dialog backgroundsThe Pixelforscher area uses a dedicated neon-meets-midnight palette to distinguish the program from the general club branding
while staying in a retro-futuristic mood.
--pixelforscher-ink: #050b1a; /* Deep backdrop for hero gradients */
--pixelforscher-panel: #0f1b32; /* Section background */
--pixelforscher-card: #16254a; /* Cards and info modules */
--pixelforscher-glow: #5de0ff; /* Primary accent/callouts */
--pixelforscher-highlight: #7c5dff; /* Secondary accent for borders/shadows */
--pixelforscher-border: rgba(93, 224, 255, 0.3); /* Soft luminous borders */
--pixelforscher-muted: rgba(255, 255, 255, 0.7); /* Text tone for descriptions */Usage guidelines:
--pixelforscher-ink and --pixelforscher-panel with glow borders.--pixelforscher-card plus highlights from --pixelforscher-highlight.--pixelforscher-muted for better hierarchy on dark surfaces./fonts/Inter-3.19.var.woff2/fonts/PressStart2P-Regular.woff2h1 {
font-size: 2em;
font-family: var(--font-family-accent);
margin: 0.67em 0;
}
h2 {
font-size: 1.5em;
font-family: var(--font-family-accent);
margin: 0.5em 0;
}body, p, ul, ol {
font-size: 1rem;
line-height: 1.6;
font-family: var(--font-family);
}h1 { font-family: var(--font-family-accent); }
h2 {
line-height: 4rem;
font-family: var(--font-family-accent);
}
body, p, ul, ol {
font-size: 1.2rem;
line-height: 1.6;
}.btn {
border-radius: 0; /* No rounded corners */
border: 2px solid var(--accent-color);
background: var(--primary-color);
color: #181818;
box-shadow: 3px 3px 0 var(--accent-color);
padding: .5rem .9rem;
font-family: "Press Start 2P", monospace;
font-size: .7rem;
letter-spacing: 1px;
text-transform: uppercase;
}
.btn:hover {
background: var(--secondary-color);
color: #000;
}.event-hero__cta, .event-hero__ghost {
border-radius: 0;
border: 2px solid var(--accent-color);
background: var(--accent-background-color);
color: var(--text-color);
font-family: 'Press Start 2P', monospace;
text-transform: uppercase;
padding: 0.6rem 1rem;
box-shadow: 3px 3px 0 var(--primary-color);
}
.event-hero__cta:hover, .event-hero__ghost:hover {
background: var(--secondary-color);
color: #000;
box-shadow: 3px 3px 0 var(--accent-color);
}.event-hero {
border-radius: 0;
border: 2px solid var(--primary-color);
box-shadow: 4px 4px 0 var(--accent-color);
margin: 16px 0;
color: #fff;
overflow: hidden;
}.subscription-box {
background: var(--accent-background-color);
border: 2px solid var(--primary-color);
box-shadow: 4px 4px 0 var(--accent-color);
transition: transform .12s ease-out, box-shadow .12s ease-out;
}
.subscription-box:hover {
transform: translate(-2px, -2px);
box-shadow: 6px 6px 0 var(--accent-color);
}header nav {
background: hsla(0,0%,100%,0.9);
height: var(--nav-h);
display: flex;
align-items: center;
justify-content: center;
padding: 0 1.5em;
z-index: 1000;
}#hamitems a {
font-family: var(--font-family-accent);
font-size: 1.2rem;
color: var(--text-color);
text-align: center;
padding: 0.5rem;
}header::before {
background: repeating-linear-gradient(
0deg,
rgba(255,255,255,0.05) 0px,
rgba(255,255,255,0.05) 1px,
transparent 2px,
transparent 4px
);
opacity: 0.2;
}ul li::before {
background: var(--primary-color);
image-rendering: pixelated;
box-shadow: 2px 2px 0 var(--accent-color);
}3px 3px 0 var(--accent-color)6px 6px 0 var(--accent-color)4px 4px 0 var(--accent-color)max-width: 700pxmax-width: 768pxmin-width: 1200pxsection {
width: 100%;
}
@media (min-width: 768px) {
section { width: 100%; }
}
@media (min-width: 1200px) {
section { width: 100%; }
}:root {
--accent-color: #E74E52;
--secondary-color: #30B2A1;
--primary-color: #ED9055;
--background-color: #181818;
--accent-background-color: #111;
--text-color: #eee;
--font-family-accent: 'Press Start 2P', monospace;
--font-family: Inter UI, sans-serif;
--nav-h: 56px; /* Desktop */
--main-width: calc(100vw - 3em);
}var(--color-name) instead of hardcoded valuesWhen creating new components, ensure they follow: