/* CATCH shared header. Self-contained: styles only .catch-shell. Master copy lives in the CatchTunes repo and is
   copied byte for byte to the CATCH site (see shell.sha256). Font URLs are relative to this file. */
@font-face { font-family: Inter; src: url(fonts/Inter-Regular.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: Inter; src: url(fonts/Inter-Bold.woff2) format("woff2"); font-weight: 700; font-display: swap; }

.catch-shell { position: sticky; top: 0; z-index: 20; height: 60px; box-sizing: border-box; border-bottom: 1px solid rgba(110, 170, 255, 0.18); background: rgba(5, 11, 26, 0.92); font: 700 14px/1.2 Inter, "Segoe UI", system-ui, sans-serif; }
.catch-shell *, .catch-shell *::before, .catch-shell *::after { box-sizing: border-box; }
.catch-shell .catch-shell-bar { display: flex; align-items: center; gap: 6px; height: 100%; max-width: 1080px; margin: 0 auto; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
.catch-shell .catch-shell-bar::-webkit-scrollbar { display: none; }
.catch-shell a { flex: none; text-decoration: none; }
.catch-shell .catch-brand { display: flex; align-items: center; gap: 8px; margin-right: 14px; color: #e6eefc; font-weight: 700; font-size: 16px; letter-spacing: 0.14em; }
.catch-shell .catch-brand img { display: block; width: 32px; height: 32px; }
.catch-shell .catch-tab { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 12px; border: 1px solid transparent; border-radius: 999px; color: #9aaed4; font-weight: 700; font-size: 14px; white-space: nowrap; }
.catch-shell .catch-tab:hover { color: #fff; }
.catch-shell .catch-tab[aria-current="page"] { color: #fff; background: linear-gradient(180deg, #2a6fd6, #17468f); border-color: rgba(255, 255, 255, 0.2); }
.catch-shell a:focus-visible { outline: 2px solid #6cc4ff; outline-offset: 2px; }
