The Full Stack Sorcery portfolio is built on a tightly scoped design system defined entirely insideDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/full-stack-sorcerer/llms.txt
Use this file to discover all available pages before exploring further.
tailwind.config.js and a small block of custom CSS at the top of main.css. Every color, font, glow effect, and animation is a named token — so changing the look of the whole site means editing one place, not hunting through dozens of component files.
Color Palette
Six custom color tokens extend Tailwind’s default palette under thespooky-* namespace. They cover every role from page background to interactive accents.
| Token | Hex | Usage |
|---|---|---|
spooky-midnight | #0d1f24 | Page background, deepest layer |
spooky-navy | #0a2a2f | Cards, panels, nav backdrop |
spooky-cream | #fef3c7 | Primary body text |
spooky-turquoise | #3fd6c0 | Primary accent — glows, links, active states |
spooky-aqua | #5eead4 | Lighter accent variant — hover states, secondary highlights |
spooky-orange | #f59e0b | Secondary accent — badges, call-to-action elements, highlights |
bg-*, text-*, border-*, from-*, etc.) and support Tailwind’s opacity modifier syntax.
spooky-turquoise background and spooky-midnight foreground, applied via the selection:bg-spooky-turquoise and selection:text-spooky-midnight utilities on the root element.
Typography
Two Google Fonts are loaded at the top ofmain.css and mapped to Tailwind font-family utilities:
| Class | Font | Role |
|---|---|---|
.font-display | Bagel Fat One | Headings, page titles, nav labels, tombstone SVGs |
.font-body | DM Sans | Body copy, descriptions, labels, form inputs |
Bagel Fat One is also applied globally to all heading elements (h1–h6) via a base layer rule, so semantic headings inherit it automatically without adding .font-display manually.
Custom Glow Utilities
Two custom utility classes are defined after@tailwind utilities in main.css and are available anywhere in the project.
.text-glow
Adds a two-layer turquoise text-shadow for glowing headings.
<h1 className="font-display text-spooky-turquoise text-glow">.
.box-glow
Adds an outer and inset turquoise box-shadow for glowing card borders.
border-spooky-turquoise for a fully lit frame.
Custom Animations
fog-scroll
A horizontal scrolling animation used exclusively by the FogBackground component to move a wide, tiled fog texture across the viewport.
w-[200%]) so the -50% translate lands exactly back at the start, producing a seamless loop over 60 seconds.
The fog animation is managed entirely by the
FogBackground component, which renders behind all page content at z-0. You do not need to apply .animate-fog-scroll manually anywhere — just ensure FogBackground is mounted in the layout wrapper.swing
A gentle pendulum rotation applied to the string elements above project Polaroids on the Projects page.
.5rem-wide string div above each project card uses .animate-swing with a staggered animationDelay (one per card) so the Polaroids sway out of sync with each other.
Scrollbar Customization
The custom scrollbar is defined inmain.css using WebKit pseudo-elements and keeps the UI consistent with the dark theme:
Adding a New Color Token
Because this is a compiled Vite build, color tokens are defined intailwind.config.js in the source tree — not in the compiled assets/main.css. To add a new token:
- Open
tailwind.config.jsand locate thetheme.extend.colorsobject. - Add your token under the
spookynamespace:
- Run
vite buildto regenerateassets/main.cssandassets/main.jswith the new utility classes included. - Use the token with any Tailwind utility:
bg-spooky-crimson,text-spooky-crimson,border-spooky-crimson, etc.