feat(site): Palette/Periodic toggle in Language, rename Why → The Case

Two homepage tweaks:

- Section 02 (The Language) gets a pill-style Palette / Periodic view
  toggle at the top-right of the intro row. Palette (fisheye command
  gallery) is default; Periodic (the periodic table) is behind a tab
  click. Collapses the section's vertical footprint substantially
  without losing the signature periodic-table visualization.
- Section 04 renamed "Why Impeccable" → "The Case". Matches the
  editorial voice of "The Language" / "The Antidote" / "The Editors"
  (changelog signature). Sticky nav label Case.
This commit is contained in:
Paul Bakaus
2026-04-22 13:41:34 -07:00
parent d72ac00226
commit 6743fe2e9d
4 changed files with 110 additions and 17 deletions
+63
View File
@@ -3191,3 +3191,66 @@
}
.live-demo-caption::before { animation: none; }
}
/* ============================================
LANGUAGE section — Palette / Periodic tabs
============================================ */
.language-intro-row {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xl);
}
.language-intro-row .section-lead {
margin: 0;
flex: 1;
}
.language-view-toggle {
display: inline-flex;
gap: 2px;
padding: 3px;
background: var(--color-mist);
border-radius: 999px;
flex-shrink: 0;
}
.language-view-tab {
font-family: var(--font-mono);
font-size: 0.6875rem;
letter-spacing: 0.14em;
text-transform: uppercase;
padding: 8px 18px;
background: transparent;
border: 0;
border-radius: 999px;
color: var(--color-ash);
cursor: pointer;
transition: background 200ms var(--ease-out), color 200ms var(--ease-out);
}
.language-view-tab:hover { color: var(--color-ink); }
.language-view-tab.is-active {
background: var(--color-paper);
color: var(--color-ink);
box-shadow: 0 1px 3px oklch(0% 0 0 / 0.08);
}
.language-view-tab:focus-visible {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
.language-view { display: none; }
.language-view.is-active { display: block; }
@media (max-width: 680px) {
.language-intro-row {
flex-direction: column;
align-items: flex-start;
}
}