Token and spacing effects appear here.
/* Hamburger -> X transform */
.hamburger { display: flex; flex-direction: column; gap: 5px; cursor: pointer; }
.hamburger span {
width: 22px; height: 2px; background: currentColor;
transition: transform 0.3s, opacity 0.3s;
transform-origin: center;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Loading spinner */
.spinner {
width: 20px; height: 20px; border-radius: 50%;
border: 2px solid var(--border);
border-top-color: var(--accent);
animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }