:root {
    /* Ground */
    --ground-void: #0a0a0a;
    --ground-base: #0f0f0f;
    --ground-raised: #141414;

    /* Text */
    --text-primary: #ffffff;
    --text-secondary: #a8aab8;
    --text-ghost: #333333;

    /* Accent */
    --accent: #00ffaa;
    /* Cyan from seed */

    /* Typography */
    --font-mono: 'JetBrains Mono', 'IBM Plex Mono', monospace;
    --text-xs: 10px;

    /* Spacing */
    --space-4: 16px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body,
html {
    width: 100%;
    height: 100%;
    background-color: var(--ground-void);
    overflow: hidden;
    font-family: var(--font-mono);
    color: var(--text-primary);
}

canvas {
    display: block;
    touch-action: none;
    /* Prevent scrolling on mobile */
}

#ui {
    position: absolute;
    bottom: var(--space-4);
    left: var(--space-4);
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.row {
    display: flex;
    gap: 12px;
    font-size: var(--text-xs);
    opacity: 0.7;
}

.label {
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    /* tracking-wide */
    width: 60px;
}

#energy-val {
    color: var(--accent);
}