// Dossier — main page · hacker palette, dark terminal-paper feel. // Mobile-responsive: stacks on narrow screens. const dossierStyles = { page: { width: '100%', minHeight: '100vh', color: 'var(--ink)', fontFamily: "'JetBrains Mono', ui-monospace, monospace", padding: '40px 24px 64px', }, paper: { background: 'var(--paper)', border: '1px solid var(--line-2)', boxShadow: '8px 8px 0 var(--green-dark), 8px 8px 0 1px var(--line-2)', padding: '40px 48px 60px', maxWidth: 1120, margin: '0 auto', position: 'relative', }, classBar: { background: '#000', color: 'var(--green)', margin: '-40px -48px 32px', padding: '10px 48px', fontSize: 11, letterSpacing: 2.4, display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap', gap: 8, borderBottom: '1px solid var(--green)', }, docHead: { display: 'grid', gridTemplateColumns: '1fr 280px', gap: 40, paddingBottom: 24, borderBottom: '2px solid var(--line-2)', marginBottom: 28, }, docNo: { fontSize: 11, letterSpacing: 1.4, color: 'var(--green)', marginBottom: 10 }, docTitle: { fontFamily: "'Inter', sans-serif", fontSize: 52, fontWeight: 700, letterSpacing: -1.6, margin: 0, lineHeight: 1.02, color: '#fff', }, docSub: { fontSize: 15, color: 'var(--ink-2)', marginTop: 16, lineHeight: 1.65, fontFamily: "'Inter', sans-serif", maxWidth: 640, }, metaTable: { fontSize: 12, lineHeight: 2, color: 'var(--ink)' }, metaRow: { display: 'grid', gridTemplateColumns: '92px 1fr', gap: 8 }, metaKey: { color: 'var(--dim)', textTransform: 'uppercase', letterSpacing: 0.6, fontSize: 10 }, exec: { fontFamily: "'Inter', sans-serif", fontSize: 16, lineHeight: 1.7, color: 'var(--ink)', background: 'var(--paper-2)', padding: '18px 22px', border: '1px solid var(--line-2)', borderLeft: '3px solid var(--green)', }, execAccent: { color: 'var(--green)', fontWeight: 600 }, table: { width: '100%', borderCollapse: 'collapse', fontSize: 13, overflowX: 'auto', display: 'block' }, th: { textAlign: 'left', padding: '10px 12px', background: '#000', color: 'var(--green)', fontWeight: 500, letterSpacing: 1, fontSize: 10, borderBottom: '1px solid var(--green)', }, td: { padding: '12px 12px', borderBottom: '1px solid var(--line)', verticalAlign: 'top', fontSize: 13, lineHeight: 1.55, fontFamily: "'Inter', sans-serif", color: 'var(--ink)', }, tdMono: { fontFamily: "'JetBrains Mono', monospace", color: 'var(--ink-2)' }, matrix: { display: 'grid', gridTemplateColumns: 'repeat(5, 1fr)', gap: 0, border: '1px solid var(--line-2)', background: 'var(--paper-2)', }, matCol: { borderRight: '1px solid var(--line-2)', padding: '14px 16px' }, matLast: { borderRight: 'none' }, matLabel: { fontSize: 11, letterSpacing: 1, color: 'var(--green)', marginBottom: 10, textTransform: 'uppercase', }, matItem: { fontSize: 13, color: 'var(--ink)', padding: '3px 0' }, signoff: { marginTop: 48, paddingTop: 24, borderTop: '2px solid var(--line-2)', display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 24, fontSize: 12, }, }; // Mobile overrides applied inline via window.innerWidth check // useIsMobile() hook defined in project-detail.jsx (loaded before this file) const CATEGORY_CONFIG = { red: { label: 'RED · OFFENSE', accent: 'var(--red)' }, blue: { label: 'BLUE · DEFENSE', accent: 'var(--blue)' }, grey: { label: 'GREY · REVERSE / SYSTEMS', accent: 'var(--grey)' }, }; function CompactFindingRow({ project, idx, onOpen, accent }) { const open = () => onOpen(project.id); const cross = project.crossTag; const crossAccent = cross && CATEGORY_CONFIG[cross] ? CATEGORY_CONFIG[cross].accent : 'var(--ink-2)'; const crossLabel = cross ? CATEGORY_CONFIG[cross].label.split(' · ')[1] : null; return (
{project.blurb}
Cybersecurity student at the University of South Florida with a strong focus on problem-solving across systems, networks, and applications. Interests span malware analysis, detection engineering, and reverse engineering — with a preference for projects that close the loop between offense and defense.
Cybersecurity student at USF with hands-on experience building offensive tooling, reverse-engineering Windows systems, and designing defensive projects that test real detection gaps. Strongest in Windows internals, reverse engineering, and security tooling, with practical experience across both red- and blue-team workflows. Seeking a Summer 2026 cybersecurity internship in security engineering, detection, or offensive research.
| # | EVENT | TYPE | ROLE | RESULT |
|---|---|---|---|---|
| {String(i + 1).padStart(2, '0')} | {c.name} | {c.category} | {c.role} | {c.result} |
| # | EVENT | TYPE | ROLE |
|---|---|---|---|
| {String(i + 1).padStart(2, '0')} | {c.name} | {c.category} | {c.role} |
| ROLE | ORGANIZATION | DATES | NOTES |
|---|---|---|---|
| {e.role} | {e.company} | {e.dates} | {e.notes.join(' ')} |
| {r.team.role} | {r.team.name} · {r.team.org} | 2025 — Present | {r.team.note} |