Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/mystery-haunting/llms.txt

Use this file to discover all available pages before exploring further.

Mystery Haunting’s visual identity is built entirely on Tailwind CSS with a custom theme configuration that extends the default palette with spooky-specific color tokens, typography families, and keyframe animations. All styles are compiled into the assets/main.css bundle during the Vite build — the resulting file contains every Tailwind utility class used across the application, the custom theme overrides, and the global base styles including the custom scrollbar and cursor rules.

Color Palette

The theme defines four named color tokens that establish the gothic atmosphere across every page and component.
TokenHex ValueUsage
ghost-teal#2dd4bfPrimary accent color — used for nav active states, glow effects, headings, skill bar highlights, and interactive borders
pumpkin#f97316Secondary accent color — used for CTAs, timeline dots, warning states, hover highlights, and form submit buttons
spooky-black#0a0a0aApplication background — applied to <body>, the sidebar, card backgrounds, and overlays
bone#f5f5f4Body text, subtle backgrounds, ghost icon fills, and muted UI elements at reduced opacity
These tokens are used directly as Tailwind class suffixes throughout the codebase. For example:
<!-- Text colors -->
<h1 class="text-ghost-teal">THE GRAVEYARD OF GREAT IDEAS</h1>
<p class="text-bone/60">Tread carefully. Some of these are still alive.</p>

<!-- Backgrounds and borders -->
<div class="bg-spooky-black border border-ghost-teal/30">...</div>

<!-- CTA button -->
<a class="text-pumpkin border-2 border-pumpkin hover:bg-pumpkin hover:text-spooky-black">
  ENTER IF YOU DARE
</a>
An additional lighter variant, ghost-teal-light (#5eead4), appears in the cursor trail component for the inner dot highlight.

Typography

Mystery Haunting imports two font families from Google Fonts and maps them to Tailwind utility classes. font-spooky — Maps to Creepster, a display serif with a handcrafted horror aesthetic. Used for all headings, page titles, nav labels, section headers, button text, and decorative typographic elements throughout the portfolio. font-mono — Maps to the browser’s default monospace stack (ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace). Used for metadata labels, data attributes, timestamps, tag lines, and technical copy — providing a clinical contrast to the decorative font-spooky headings. font-sans (default body font) — Maps to Space Grotesk, a geometric sans-serif used for body copy, prose paragraphs, and the <html> element’s base font. The CSS global sets font-family: Space Grotesk, sans-serif on html and body.

Custom Animation Utilities

The theme defines four keyframe animations registered as Tailwind utility classes.
ClassEffect
animate-float-ghostA four-step floating motion that translates an element up, right, back to baseline, and then down-right, looping every 6 s with ease-in-out timing. Used on ghost icons in the Landing page and on book particle effects in the Blog page.
animate-bubbleA rising bubble animation that scales an element from 50% to 150% while translating it upward and fading in then out, completing in 2 s with ease-in timing. Used for the potion bubble particles that appear on skill bottle hover in the Skills page.
text-glow-tealA CSS text-shadow utility (not a keyframe) that applies a two-layer teal neon glow: 0 0 10px rgba(45,212,191,0.7), 0 0 20px rgba(45,212,191,0.5). Used on active nav labels and major section headings.
animate-pulseTailwind’s built-in pulse animation (opacity cycling between 1 and 0.5 every 2 s). Used on the glowing window and light elements in the haunted house silhouette on the Landing page.
animate-fogA slow horizontal drift and scale oscillation that translates the fog layer ±10% over 20 s, used by the GlobalEffects fog overlay component.
animate-lightningA flash pattern keyframe that keeps the overlay invisible for ~95% of its 15 s cycle and briefly snaps to 80% opacity twice in quick succession, simulating distant lightning.

Glow Shadow Utilities

Several components use Tailwind’s arbitrary value syntax to apply neon-style box shadows and drop shadows in the theme’s accent colors. These classes appear frequently across interactive elements:
<!-- Teal box-shadow glow (used on the ghost-teal orb on the Landing page) -->
<div class="shadow-[0_0_100px_#2dd4bf]">...</div>

<!-- Teal box-shadow glow on interactive cards -->
<div class="shadow-[0_0_15px_#2dd4bf]">...</div>

<!-- Pumpkin glow on timeline dots -->
<div class="shadow-[0_0_10px_#f97316]">...</div>

<!-- Teal drop-shadow on SVG icons -->
<svg class="drop-shadow-[0_0_15px_#2dd4bf]">...</svg>
The drop-shadow-[0_0_5px_rgba(45,212,191,0.3)] variant is used on bat SVGs in the GlobalEffects flying bats component to give them a subtle atmospheric glow without the hard halo of a full box shadow.

Global Base Styles

assets/main.css sets several global styles on the body element that establish the application-wide atmosphere:
body {
  overflow-x: hidden;
  background-color: rgb(10 10 10); /* spooky-black */
  font-family: Space Grotesk, sans-serif;
  color: rgb(245 245 244);         /* bone */
  cursor: none;                    /* hidden — replaced by the custom cursor trail */
}
The native cursor is hidden globally because GlobalEffects renders a custom cursor via two motion.div elements: a larger blurred teal orb that follows the mouse with spring physics and a small teal dot that tracks it with tighter spring settings. The custom cursor also scales up when hovering over interactive elements detected via getComputedStyle(target).cursor === "pointer". A custom scrollbar style is also applied globally, giving the scrollbar a teal semi-transparent thumb on the spooky-black track to maintain the color theme even in the browser chrome.
All Tailwind classes used in Mystery Haunting are compiled into assets/main.css at build time — only classes that actually appear in the source code are included. To modify the theme (add new color tokens, adjust animation timing, or register new keyframes), update tailwind.config.js in the source project and rebuild with Vite to regenerate assets/main.css. Note that tailwind.config.js and vite.config.js are not included in the distributed repository — only the compiled output (assets/main.css and assets/main.js) is published.

Build docs developers (and LLMs) love