/* HyperFrames Design System — Mintlify Theme Overrides */ @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap'); /* ── TT Norms Pro (matches hyperframes.heygen.com) ── */ @font-face { font-family: 'TT Norms Pro'; src: url('https://www-static-assets.heygen.com/fonts/tt-norms/TT_Norms_Pro_Normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'TT Norms Pro'; src: url('https://www-static-assets.heygen.com/fonts/tt-norms/TT_Norms_Pro_Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'TT Norms Pro'; src: url('https://www-static-assets.heygen.com/fonts/tt-norms/TT_Norms_Pro_DemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'TT Norms Pro'; src: url('https://www-static-assets.heygen.com/fonts/tt-norms/TT_Norms_Pro_Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } /* ── Light mode (default) ── */ /* * NOTE: All custom variables are namespaced with `--hf-` to avoid * colliding with Mintlify's Tailwind color system, which owns names * like `--background-light` / `--background-dark` and uses them via * `rgb(var(--background-light)/)`. Overriding those with hex * values breaks the rgb() call and makes surfaces transparent (e.g. * the "Copy page" dropdown panel in light mode). */ :root { --hf-background: #f6f5f1; --hf-background-light: #ffffff; --hf-surface2: #eeedea; --hf-border-color: #e0dfdb; --hf-border-color-light: #d0cfcb; --hf-text: #1a1a1a; --hf-text-secondary: #6b6b6b; --hf-text-tertiary: #999999; --hf-heading: #0a0a0a; --hf-code-bg: #ffffff; --hf-accent-green: #1a7a0a; --hf-accent-green-light: rgba(26, 122, 10, 0.07); --hf-accent-green-border: rgba(26, 122, 10, 0.25); --hf-accent-blue: #2563eb; --hf-accent-blue-light: rgba(37, 99, 235, 0.06); --hf-accent-blue-border: rgba(37, 99, 235, 0.2); --hf-accent-purple: #7c3aed; --hf-accent-purple-light: rgba(124, 58, 237, 0.06); --hf-accent-purple-border: rgba(124, 58, 237, 0.2); --hf-selection-bg: rgba(128, 128, 128, 0.2); } /* ── Dark mode ── */ .dark, [data-theme="dark"] { --hf-background: #0a0a0a; --hf-background-light: #141414; --hf-surface2: #1a1a1a; --hf-border-color: #2a2a2a; --hf-border-color-light: #3a3a3a; --hf-text: #e5e5e5; --hf-text-secondary: #a0a0a0; --hf-text-tertiary: #666666; --hf-heading: #f5f5f5; --hf-code-bg: #141414; --hf-accent-green: #22c55e; --hf-accent-green-light: rgba(34, 197, 94, 0.1); --hf-accent-green-border: rgba(34, 197, 94, 0.3); --hf-accent-blue: #3b82f6; --hf-accent-blue-light: rgba(59, 130, 246, 0.1); --hf-accent-blue-border: rgba(59, 130, 246, 0.3); --hf-accent-purple: #a78bfa; --hf-accent-purple-light: rgba(167, 139, 250, 0.1); --hf-accent-purple-border: rgba(167, 139, 250, 0.3); --hf-selection-bg: rgba(255, 255, 255, 0.15); } /* ── Typography ── */ body { font-family: 'TT Norms Pro', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } h1, h2, h3, h4, h5, h6 { font-family: 'TT Norms Pro', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } h1, h2 { letter-spacing: -0.02em; } h3 { letter-spacing: -0.01em; } /* Code font — IBM Plex Mono (loaded via Google Fonts above) */ code, pre, pre code, kbd, [class*="code"], [class*="Code"] { font-family: 'IBM Plex Mono', 'SF Mono', 'Fira Code', monospace; } /* ── Code blocks ── */ pre { background: var(--hf-code-bg) !important; border: 1px solid var(--hf-border-color) !important; border-radius: 8px !important; } /* ── Selection ── */ ::selection { background: var(--hf-selection-bg); } /* ── Links ── */ a:not([class]) { color: var(--hf-accent-blue); } a:not([class]):hover { opacity: 0.85; } /* Catalog texture examples */ .hf-texture-preview-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 40px; } .hf-texture-preview-card { min-width: 0; border: 1px solid rgba(127, 127, 127, 0.22); border-radius: 8px; padding: 16px; background: #101010; } .hf-texture-preview-label { margin-bottom: 12px; color: rgba(255, 255, 255, 0.6); font-size: 12px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .hf-texture-preview-shadow { filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, 0.48)); } .hf-texture-preview-word { color: #fff; font-family: Impact, 'Arial Black', sans-serif; font-size: 42px; line-height: 0.9; letter-spacing: 0; text-align: center; text-transform: uppercase; white-space: nowrap; -webkit-mask-image: var(--mask-url); mask-image: var(--mask-url); -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: center; mask-position: center; -webkit-mask-mode: luminance; mask-mode: luminance; } .hf-texture-animate-demo { border: 1px solid rgba(127, 127, 127, 0.22); border-radius: 8px; padding: 22px; margin: 20px 0 24px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.54) 1px, transparent 1px), #f1f1f1; background-size: 44px 100%; } .hf-texture-animate-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; } .hf-texture-animate-label { min-width: 0; color: rgba(24, 24, 24, 0.62); font-size: 13px; line-height: 1.2; } .hf-texture-animate-class { max-width: 62%; padding: 2px 6px; border: 1px solid rgba(24, 24, 24, 0.12); border-radius: 6px; background: rgba(255, 255, 255, 0.5); color: rgba(24, 24, 24, 0.78); font-size: 11px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .hf-texture-animate-shadow { filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, 0.48)); } .hf-texture-animate-word { color: #181818; font-family: Impact, 'Arial Black', sans-serif; font-size: 92px; line-height: 0.9; letter-spacing: 0; text-align: center; text-transform: uppercase; white-space: nowrap; -webkit-mask-image: var(--mask-url); mask-image: var(--mask-url); -webkit-mask-size: 180% 180%; mask-size: 180% 180%; -webkit-mask-position: 0% 50%; mask-position: 0% 50%; -webkit-mask-mode: luminance; mask-mode: luminance; animation: hf-texture-mask-pan 2.1s ease-in-out infinite alternate; } @keyframes hf-texture-mask-pan { from { -webkit-mask-position: 0% 50%; mask-position: 0% 50%; } to { -webkit-mask-position: 100% 50%; mask-position: 100% 50%; } } .hf-texture-example-groups { display: grid; gap: 32px; margin: 20px 0 40px; } .hf-texture-example-title { margin: 0 0 10px; font-size: 14px; font-weight: 600; } .hf-texture-example-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; } .hf-texture-example-card { border: 1px solid rgba(127, 127, 127, 0.22); border-radius: 8px; padding: 20px; background: #f1f1f1; } .hf-texture-example-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; } .hf-texture-example-label { min-width: 0; color: rgba(24, 24, 24, 0.62); font-size: 13px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .hf-texture-example-class { max-width: 62%; padding: 2px 6px; border: 1px solid rgba(24, 24, 24, 0.12); border-radius: 6px; background: rgba(255, 255, 255, 0.5); color: rgba(24, 24, 24, 0.78); font-size: 11px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .hf-texture-example-shadow { filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, 0.48)); } .hf-texture-example-word { color: #181818; font-family: Impact, 'Arial Black', sans-serif; font-size: 54px; line-height: 0.9; letter-spacing: 0; text-align: center; text-transform: uppercase; white-space: nowrap; -webkit-mask-image: var(--mask-url); mask-image: var(--mask-url); -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: center; mask-position: center; -webkit-mask-mode: luminance; mask-mode: luminance; } .hf-texture-example-usage { display: flex; align-items: flex-start; gap: 6px; min-width: 0; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(24, 24, 24, 0.1); color: rgba(24, 24, 24, 0.56); font-size: 12px; line-height: 1.3; } .hf-texture-example-usage code { min-width: 0; color: rgba(24, 24, 24, 0.82); font-size: 11px; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; } @media (max-width: 860px) { .hf-texture-preview-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 520px) { .hf-texture-preview-panel { grid-template-columns: 1fr; } .hf-texture-preview-word { font-size: 40px; } .hf-texture-animate-meta { align-items: flex-start; flex-direction: column; } .hf-texture-animate-class { max-width: 100%; } .hf-texture-animate-word { font-size: 56px; } } @media (prefers-reduced-motion: reduce) { .hf-texture-animate-word { animation: none; } }