/* FX Life self-hosted type: Fraunces (display+text serif) + IBM Plex Mono (data). Generated from Google Fonts latin subsets. */
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 100 900; font-display: swap; src: url('/fonts/fraunces-100-900-italic.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/fraunces-100-900-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/ibmplexmono-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/ibmplexmono-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/ibmplexmono-700-normal.woff2') format('woff2'); }

/* portal nav on sub-pages (10 Aug 2026) */
.pnav { margin-left: auto; display: flex; gap: 18px; align-items: center;
  font-family: "IBM Plex Mono", Consolas, monospace; font-size: 12.5px; }
.pnav a { color: var(--muted, #6D675A); text-decoration: none; }
.pnav a:hover { color: var(--ink, #1B1814); }
.pnav a.join { color: #fff; background: var(--accent, #A63B2A);
  padding: 6px 13px; border-radius: 6px; }
.pnav a.join:hover { opacity: .9; }
@media (max-width: 640px) { .pnav a:not(.join) { display: none; } }
