--- /** * — the one true mark, rendered as text. * * Brand rules (org-site-v2 / dc.css): * - JetBrains Mono, bold, ligatures off. * - Brackets sit at ~70% opacity on dark surfaces (default), ~50% on * light — dark needs more help holding presence; light already has * enough contrast. * - The mark never wraps on its own. * - When it *must* split (narrow contexts, avatars, logo lockup), the * only sanctioned break is at the dot: "". * Enable with `collapsed`. */ type Size = "hero" | "nav" | "footer" | "inline" | number; type Mode = "green" | "ink" | "inherit"; interface Props { /** "hero" = responsive clamp(36px, 7vw, 76px); "nav" = 14px; "footer"/"inline" = inherit. Or a number in px. */ size?: Size; /** Color treatment. Default "ink". Brand rule: green only on dark. */ mode?: Mode; /** Override bracket opacity (0–1). Default: 0.7 (dark). */ bracketOpacity?: number; /** Break at the dot — renders as two lines: "". The only sanctioned split. */ collapsed?: boolean; /** Extra utility classes applied to the outer span. */ class?: string; } const { size = "nav", mode = "ink", bracketOpacity, collapsed = false, class: className = "", } = Astro.props; const resolvedOpacity = bracketOpacity ?? 0.7; const fontSize = size === "hero" ? "clamp(36px, 7vw, 76px)" : size === "nav" ? "14px" : size === "footer" ? "13px" : size === "inline" ? "inherit" : `${size}px`; const tracking = size === "hero" ? "-0.03em" : "-0.02em"; const modeClass = mode === "green" ? "text-green" : mode === "ink" ? "text-ink" : ""; const baseClass = [ "mono font-bold whitespace-nowrap border-none", collapsed ? "inline-block leading-[1.08]" : "inline-block leading-none", modeClass, className, ]; const styleAttr = `font-size: ${fontSize}; letter-spacing: ${tracking};`; const openBracketStyle = `opacity: ${resolvedOpacity};`; const closeBracketStyle = `opacity: ${resolvedOpacity};`; --- {collapsed ? ( <dummy.cafe /> ) : ( <dummy.cafe /> )}