:root{--bg: #0d1117;--bg-alt: #131a22;--panel: #1e2631;--panel-alt: #232f3b;--accent: #6366f1;--accent-alt: #8b5cf6;--accent-rgb: 99 102 241;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--text: #e6edf3;--text-dim: #8b949e;--border: #2d3540;--radius-sm: 6px;--radius: 14px;--radius-lg: 24px;--shadow: 0 6px 32px -8px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.4);--gradient-accent: linear-gradient(90deg, var(--accent) 0%, var(--accent-alt) 100%);--font-stack: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,sans-serif;font-family:var(--font-stack);color-scheme:dark;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(circle at 20% 20%,#17202a 0%,var(--bg) 60%) fixed;font-size:16px;line-height:1.5;display:block}img,svg{display:block;max-width:100%}ul{margin:0;padding:0}li{list-style:none}button{font-family:inherit}input,textarea{font-family:inherit;font-size:1rem}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-alt)}::-webkit-scrollbar-thumb{background:var(--panel-alt);border-radius:999px;border:2px solid var(--bg-alt)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}a{color:var(--accent);text-decoration:none;transition:color .25s,text-shadow .25s}a:hover{color:var(--accent-alt);text-shadow:0 0 6px rgba(var(--accent-rgb) / .5)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-weight:600;letter-spacing:.5px;margin:0}p{margin:0 0 1em}.text-dim{color:var(--text-dim)}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;color:transparent}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 2rem;box-shadow:var(--shadow);position:relative}.panel-alt{background:var(--panel-alt)}.flex{display:flex}.grid{display:grid}.wrap{flex-wrap:wrap}.gap-xs{gap:.5rem}.gap-sm{gap:.75rem}.gap{gap:1rem}.gap-lg{gap:2rem}.flow>*+*{margin-top:1rem}.center{text-align:center}.content-width{width:min(1200px,92%);margin-inline:auto}.btn{--btn-bg: var(--panel-alt);--btn-border: var(--border);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.15rem;font-size:.95rem;font-weight:500;border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--text);border:1px solid var(--btn-border);cursor:pointer;position:relative;transition:background .25s,border-color .25s,color .25s,transform .25s,box-shadow .25s}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 16px -4px rgba(var(--accent-rgb) /.5)}.btn:active{transform:translateY(1px)}.btn.outline{background:transparent}.btn.outline:hover{background:var(--panel-alt)}*:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-slide-up .6s cubic-bezier(.25,.8,.25,1) both}h1.site-title{font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:1.1}h2{font-size:clamp(1.6rem,3vw,2.1rem)}h3{font-size:clamp(1.2rem,2.2vw,1.5rem)}::selection{background:var(--accent);color:#fff}@media(max-width:900px){.content-width{width:94%}.panel{padding:1.4rem 1.25rem}.navbar nav ul{gap:1rem!important}}#root{min-height:100vh}.navbar{width:100%;padding:2.2rem 0 1.4rem;margin:0 auto 2.6rem;border-bottom:1px solid var(--border);position:sticky;top:0;-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);background:linear-gradient(#0d1117d9,#0d111799) padding-box;z-index:40}.header-top{display:flex;flex-direction:column;gap:.65rem}.site-title{margin:0;font-weight:700;letter-spacing:1px;background:var(--gradient-accent);-webkit-background-clip:text;color:transparent}.contact-info{font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem;color:var(--text-dim)}.contact-info a{color:var(--text-dim)}.contact-info a:hover{color:var(--accent)}.navbar nav ul{display:flex;gap:1.4rem;margin:.4rem 0 0;padding:0}.navbar nav ul li a{padding:.55rem .95rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--text-dim);position:relative}.navbar nav ul li a:hover{color:var(--text);background:var(--panel-alt)}.navbar nav ul li a:active{transform:translateY(1px)}.navbar .nav-download{font-size:.75rem;letter-spacing:.6px;padding:.55rem .85rem;background:transparent;border-color:var(--border)}.navbar .nav-download:hover{background:var(--accent);border-color:var(--accent);color:#fff}main{padding:0 0 4rem}section{margin-bottom:2.5rem}.about{display:flex;flex-direction:column;gap:1.2rem}.about-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:1.6rem;align-items:start}.about-intro{display:flex;flex-direction:column;gap:1.2rem}.about h1{margin:0;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;color:transparent}.about p{font-size:1.05rem;color:var(--text-dim);max-width:60ch}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem 1.15rem;box-shadow:0 2px 8px -2px #0006}.resume{display:flex;flex-direction:column;gap:1.2rem}.resume h3{margin:1.4rem 0 .6rem;color:var(--accent);font-weight:600}.resume ul{margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.resume>ul>li{position:relative;padding:.75rem 1rem 1rem 1.1rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 2px 8px -2px #0006}.resume>ul>li strong{color:var(--accent-alt)}.resume>ul>li ul{margin:.6rem 0 0 .3rem;padding-left:1rem;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.resume>ul>li ul li{font-size:.85rem;color:var(--text-dim)}.resume a{color:var(--accent)}.projects{display:flex;flex-direction:column;gap:1.4rem}.projects h2{margin:0}.projects ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;margin:0;padding:0}.projects li.project-card{position:relative;background:linear-gradient(145deg,var(--panel) 0%,var(--panel-alt) 100%);border:1px solid var(--border);padding:1.15rem 1.15rem 1.25rem;border-radius:var(--radius);display:flex;flex-direction:column;gap:.6rem;overflow:hidden;box-shadow:0 4px 18px -6px #00000080;transition:transform .35s cubic-bezier(.25,.8,.25,1),box-shadow .35s,border-color .35s}.projects li.project-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(var(--accent-rgb)/.18),transparent 60%);opacity:0;transition:opacity .35s}.projects li.project-card:hover{transform:translateY(-6px);box-shadow:0 10px 28px -8px rgba(var(--accent-rgb)/.55);border-color:var(--accent)}.projects li.project-card:hover:before{opacity:1}.projects h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.4px;color:var(--accent)}.projects p{margin:0;font-size:.85rem;line-height:1.4;color:var(--text-dim)}.projects a{font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.55rem .9rem;align-self:flex-start;background:var(--panel-alt);border:1px solid var(--border);border-radius:999px;transition:background .3s,color .3s,border-color .3s}.projects a:hover{background:var(--accent);border-color:var(--accent);color:#fff}.contact{display:flex;flex-direction:column;gap:1.4rem}.contact h2{margin:0}.contact form{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.3rem 1.4rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px -6px #00000080}.contact label{display:flex;flex-direction:column;gap:.4rem;font-size:.75rem;font-weight:600;color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase}.contact input,.contact textarea{width:100%;padding:.75rem .85rem;background:var(--panel-alt);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);resize:vertical;transition:border-color .25s,background .25s}.contact input:focus,.contact textarea:focus{border-color:var(--accent);background:#262f3a}.contact button{align-self:flex-start}.contact-info{font-size:.85rem;display:flex;flex-direction:column;gap:.25rem}.contact-info p{margin:0;color:var(--text-dim)}.contact-info a{color:var(--accent)}.about,.resume,.projects,.contact{background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 2.2rem;box-shadow:var(--shadow)}.site-footer{margin-top:3.5rem;padding:3rem 0 3.4rem;border-top:1px solid var(--border);background:linear-gradient(#0d1117d9,#0d111799);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.site-footer a{color:var(--text-dim);transition:color .25s}.site-footer a:hover{color:var(--accent)}.site-footer .badge-wrapper{filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}.site-footer .badge-base{transform:scale(.9);transform-origin:top left}@media(max-width:900px){.navbar{padding:1.4rem 0 1rem;margin-bottom:1.8rem}.navbar nav ul{flex-wrap:wrap;justify-content:flex-start}.about,.resume,.projects,.contact{padding:1.35rem 1.1rem 1.4rem}.about-grid{grid-template-columns:1fr}.projects ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.resume>ul>li{padding:.55rem .75rem .85rem}}@media(max-width:550px){.contact-info{font-size:.7rem}.navbar nav ul li a{padding:.45rem .7rem;font-size:.75rem}.projects h3{font-size:.95rem}.projects p{font-size:.75rem}}
