// hf-kit.jsx — Wiggleverse ecomm HI-FI primitives (Direction A · Quiet centered). // Depth = layered surfaces + hairlines (the brand avoids shadows). Hover = 1–3px lift. // Merchant persona: Ben's Bets · ben@bensbets.com const HFDS = window.WiggleverseDesignSystem_94cd80; const { Button: HFButton, Soul: HFSoul, Eyebrow: HFEyebrow, Tag: HFTag } = HFDS; // Resolve a brand asset: blob URL when bundled offline (window.__resources), else relative path. const HF_ASSET = (id, path) => (window.__resources && window.__resources[id]) || path; window.HF_ASSET = HF_ASSET; // ---- token shorthands ---------------------------------------------------- const H = { sky: 'var(--wv-midnight)', night: 'var(--wv-night)', raised: 'var(--wv-indigo)', raisedHi: 'var(--wv-indigo-2)', star: 'var(--wv-starlight)', soft: 'var(--wv-starlight-78)', mute: 'var(--wv-starlight-60)', faint: 'var(--wv-starlight-55)', lilac: 'var(--wv-lilac)', violet: 'var(--wv-violet)', gold: 'var(--wv-gold)', goldHi: 'var(--wv-gold-hi)', goldInk: 'var(--wv-gold-ink)', hair: 'var(--border-soft)', hairCard: 'var(--border-card)', hairStrong: 'var(--border-strong)', disp: 'var(--wv-font-display)', body: 'var(--wv-font-body)', soul: 'var(--wv-font-human)', shadow: 'var(--shadow-soft)', }; const MENU_EMAIL = 'ben@bensbets.com'; const STORE = "Ben's Bets"; // barely-there starfield (Direction A: restrained) — a few asymmetric nodes const HF_STARS = 'radial-gradient(1.3px 1.3px at 16% 22%, rgba(237,234,255,.34), transparent),' + 'radial-gradient(1.2px 1.2px at 78% 14%, rgba(237,234,255,.22), transparent),' + 'radial-gradient(1.1px 1.1px at 88% 46%, rgba(155,140,255,.30), transparent),' + 'radial-gradient(1.3px 1.3px at 30% 72%, rgba(237,234,255,.24), transparent),' + 'radial-gradient(1.1px 1.1px at 62% 86%, rgba(237,234,255,.18), transparent),' + 'radial-gradient(1.2px 1.2px at 7% 56%, rgba(155,140,255,.26), transparent)'; // gold horizon — the brand's warmth, a low glow at the bottom of the sky const HF_HORIZON = 'radial-gradient(120% 70% at 50% 142%, rgba(244,199,107,.16) 0%, rgba(244,199,107,.05) 38%, transparent 64%)'; // One-time injected stylesheet: hover + focus affordances (subtle motion only). function HFStyles() { return (