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

body {
    background: #020204;
    overflow: hidden;
    font-family: 'Helvetica Neue', 'Hiragino Sans', sans-serif;
}

canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hint {
    position: fixed;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.08);
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    font-family: 'SF Mono', 'Fira Code', monospace;
    pointer-events: none;
    text-align: center;
    transition: color 3s ease;
}

.hint.revealed {
    color: rgba(255, 255, 255, 0.25);
}
