Portfolio Webkit
Design system reference — tokens, icons, and components used by shinigamy19.tech
97 icons · 69 project tags · 5 skill groups — all rendered from live data sources, never a duplicated list.
Color tokens
Brand gradient
Scroll-progress bar and TitleSection underline — from-blue-500 via-purple-500 to-cyan-400
Skill badge purple
Skill pills in Habilidades.astro — #582f82 (same in light and dark)
Hero radial light
Layout.astro page backdrop, forced light — rgba(120,119,198,0.3) on white
Light sample panel
Hero radial dark
Layout.astro page backdrop, forced dark — rgba(70,130,180,0.3) on gray-950
Dark sample panel
Experience category colors
Token map copied from ExperienciaItem.astro categoryColors — light (forced) and dark (forced) side by side
Light
Dark
Education gradients
Imported from src/data/education.ts — each card uses bg-gradient-to-br + the gradient class below
from-purple-600 via-pink-600 to-rose-600 from-blue-500 via-indigo-500 to-violet-500 from-cyan-500 via-blue-600 to-indigo-700 Typography
Roboto weights used across the site — 400 (body), 500 (medium), 700 (bold) — imported via @fontsource/roboto in Layout.astro
h2 — TitleSection style · text-3xl font-semibold · weight 500
Section heading sample
Body · weight 400
Body copy uses Roboto 400 at base size with relaxed leading. This is the default paragraph style across portfolio sections — descriptions, about text, and card content.
Medium · weight 500
Medium weight for nav labels, dates, and emphasized inline text.
Small / tag text · weight 500–700 · text-xs
Icons
Auto-discovered with import.meta.glob("../components/icons/*.astro") — 97 components, sorted alphabetically. "iconMap" notes show which tech-tag keys resolve to the component in src/data/iconMap.ts.
Tech-tag icons
Every key in iconMap with its real projectTags badge (class + icon), the same pattern Proyectos.astro uses
Backgrounds & effects
Hero radial gradient
Reproduced from Layout.astro — the full-page backdrop behind every section
Site backdrop sample (follows theme)
TitleSection underline
Brand gradient bar under every section title — animates to 80px on reveal
Skill section gradient panel
Achievements panel from Habilidades.astro — purple/blue wash on light, slate base on dark
Achievements panel sample
Badge conic gradient
Spinning conic ring from Badge.astro — #51E4B8 → #21554E → #51E4B8
Category tab active state
Project filter tabs from Proyectos.astro — active uses blue-600
Scroll-progress bar
Fixed top bar in Layout.astro — blue → purple → cyan, 3px tall
Backdrop-blur nav pill
Header.astro desktop nav — white/70 or gray-900/60 with backdrop-blur-md
Components
Live imports from src/components/ui/ where possible
Badge.astro
Live import — conic-gradient ring + slot content
TitleSection.astro with icon slot
Live import — wrapped in .revealed so the underline renders
Sample section
Category tab (static copy)
Static markup copy — Proyectos.astro tabs have no standalone component; classes inlined
Project tag pill
From projectTags data — first entry, same pattern as Proyectos.astro
Next.js