@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-dark:#07090e;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-surface:#0f172a;--bg-elevated:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--accent-cyan:#06b6d4;--accent-teal:#14b8a6;--accent-blue:#3b82f6;--accent-indigo:#6366f1;--accent-violet:#8b5cf6;--accent-emerald:#10b981;--gradient-primary:linear-gradient(135deg, #06b6d4 0%, #3b82f6 50%, #8b5cf6 100%);--gradient-glow:linear-gradient(135deg, #06b6d426 0%, #8b5cf626 100%);--gradient-subtle:linear-gradient(180deg, #0f172acc 0%, #07090ef2 100%);--border-subtle:#ffffff14;--border-accent:#06b6d44d;--glow-cyan:0 0 25px #06b6d440;--glow-violet:0 0 25px #8b5cf640;--shadow-lg:0 20px 25px -5px #00000080, 0 8px 10px -6px #00000080;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 15% 15%,#06b6d412 0%,#0000 40%),radial-gradient(circle at 85% 65%,#8b5cf612 0%,#0000 45%),radial-gradient(circle at 50% 90%,#10b9810d 0%,#0000 50%);background-attachment:fixed;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{border:2px solid var(--bg-dark);background:#1e293b;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}.container{max-width:1240px;margin:0 auto;padding:0 1.5rem}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.mono{font-family:var(--font-mono)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s}.glass-card:hover{box-shadow:var(--glow-cyan);border-color:#06b6d466}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #06b6d459}.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #06b6d480}.btn-secondary{color:var(--text-main);border:1px solid var(--border-subtle);background:#1e293bcc}.btn-secondary:hover{border-color:var(--accent-cyan);color:#fff;background:#334155e6;transform:translateY(-2px)}.btn-outline{color:var(--accent-cyan);border:1px solid var(--border-accent);background:0 0}.btn-outline:hover{border-color:var(--accent-cyan);background:#06b6d41a;transform:translateY(-2px)}.pill-badge{border-radius:var(--radius-full);font-size:.825rem;font-family:var(--font-mono);border:1px solid var(--border-subtle);color:var(--text-muted);background:#0f172acc;align-items:center;gap:.35rem;padding:.35rem .85rem;font-weight:500;transition:all .2s;display:inline-flex}.pill-badge.active,.pill-badge:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);background:#06b6d41f}.pulse-dot{background-color:var(--accent-emerald);border-radius:50%;width:9px;height:9px;display:inline-block;position:relative}.pulse-dot:after{content:"";border:2px solid var(--accent-emerald);border-radius:50%;animation:2s ease-in-out infinite pulse;position:absolute;inset:-3px}@keyframes pulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(.95)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}pre code{border-radius:var(--radius-sm);color:#e2e8f0;border:1px solid #ffffff14;padding:1rem;font-size:.875rem;display:block;overflow-x:auto;background:#090d16!important}.section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}.section-tag{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:inline-flex}.section-title{letter-spacing:-.02em;color:var(--text-main);margin-bottom:1rem;font-size:2.25rem;font-weight:800}@media (width<=768px){.section-title{font-size:1.75rem}}.section-subtitle{color:var(--text-muted);font-size:1.05rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#030712d9;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:var(--radius-lg);width:100%;max-width:850px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #000000b3}@media print{@page{size:portrait;margin:12mm 15mm}*,:before,:after{box-shadow:none!important;text-shadow:none!important;background-image:none!important}html,body,#root{color:#0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}header,nav,main,footer,.no-print,.mobile-toggle,.nav-status-badge{display:none!important}.modal-overlay{-webkit-backdrop-filter:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;z-index:auto!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.modal-content{box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}#printable-resume,#printable-resume *{visibility:visible!important}#printable-resume{color:#0f172a!important;width:100%!important;max-width:100%!important;box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:1.5rem 1.75rem!important;font-size:10pt!important;line-height:1.5!important;position:relative!important;top:0!important;left:0!important}#printable-resume .resume-header{border-bottom:2px solid #0284c7!important;margin-bottom:1.25rem!important;padding-bottom:.75rem!important}#printable-resume .resume-name{color:#0f172a!important;font-size:2rem!important}#printable-resume .resume-subtitle{color:#0284c7!important;font-size:1.05rem!important}#printable-resume .resume-contact-info,#printable-resume .resume-contact-info span{color:#475569!important}#printable-resume .resume-contact-info svg{color:#0284c7!important;stroke:#0284c7!important}#printable-resume .resume-section-title{color:#0284c7!important;border-bottom:1px solid #cbd5e1!important;margin-bottom:.6rem!important;padding-bottom:.25rem!important;font-size:1.05rem!important}#printable-resume .resume-skills-grid{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.75rem 2rem!important;width:100%!important;display:grid!important}#printable-resume .resume-skill-card{word-break:break-word!important;overflow-wrap:break-word!important;min-width:0!important;line-height:1.45!important}#printable-resume .resume-text,#printable-resume .resume-bullet-list li,#printable-resume p,#printable-resume span,#printable-resume div{color:#334155!important;word-break:break-word!important;overflow-wrap:break-word!important}#printable-resume .resume-title-bold,#printable-resume strong{color:#0f172a!important}#printable-resume .resume-date{color:#0284c7!important;font-weight:600!important}.resume-section{break-inside:avoid!important;page-break-inside:avoid!important;margin-bottom:1.25rem!important}.resume-item{break-inside:avoid!important;page-break-inside:avoid!important;margin-bottom:.85rem!important}}
