Files
the-nexus/style.css
Alexander Whitestone 4f1b86eea2
Some checks failed
CI / validate (pull_request) Has been cancelled
feat: add ring of floating runes around Nexus center platform (#110)
- Build full Three.js scene with scene/camera/renderer/OrbitControls
- Add center platform (cylinder) with edge glow ring and pulsing disc
- Create 12 Elder Futhark rune billboards arranged in an orbiting ring
- Runes float vertically (per-rune phase offset) and slowly orbit platform
- Alternating cyan/magenta glow colors via canvas texture
- Faint orbit indicator torus at rune height
- Starfield background (2500 points)
- Pulsing point lights for living atmosphere
- Import map in index.html wires Three.js 0.183 from CDN
- Retain WebSocket client integration and audio toggle

Fixes #110
2026-03-23 23:58:06 -04:00

75 lines
1.3 KiB
CSS

:root {
--color-bg: #0a0a1a;
--color-primary: #00ffcc;
--color-secondary: #ff44ff;
--color-text: #e0e0ff;
--color-text-muted: #666699;
--font-body: 'Courier New', monospace;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: var(--color-bg);
color: var(--color-text);
font-family: var(--font-body);
overflow: hidden;
width: 100vw;
height: 100vh;
}
#nexus-canvas {
display: block;
width: 100vw;
height: 100vh;
}
#hud {
position: absolute;
top: 12px;
left: 50%;
transform: translateX(-50%);
pointer-events: none;
}
#hud-title {
font-size: 13px;
letter-spacing: 6px;
color: var(--color-primary);
text-shadow: 0 0 10px var(--color-primary);
opacity: 0.7;
}
/* === AUDIO TOGGLE === */
#audio-control {
position: absolute;
top: 8px;
right: 8px;
}
#audio-toggle {
font-size: 14px;
background-color: rgba(0, 255, 204, 0.15);
color: var(--color-primary);
border: 1px solid var(--color-primary);
padding: 4px 8px;
border-radius: 4px;
font-family: var(--font-body);
transition: background-color 0.3s ease;
cursor: pointer;
}
#audio-toggle:hover {
background-color: rgba(0, 255, 204, 0.3);
}
#audio-toggle.muted {
color: var(--color-text-muted);
border-color: var(--color-text-muted);
background-color: transparent;
}