:root{color-scheme:dark;--text: #e5e7eb;--muted: #a1a1aa;--accent: #38bdf8;--accent-2: #22d3ee;--border: rgba(148, 163, 184, .2);--bg: #0f0f10;--surface: #17181b;--surface-2: #1f2024;--shadow: 0 18px 40px rgba(0, 0, 0, .45)}[data-theme=light]{color-scheme:light;--text: #1f2937;--muted: #6b7280;--accent: #2563eb;--accent-2: #0ea5e9;--border: #e5e7eb;--bg: #ffffff;--surface: #ffffff;--surface-2: #f3f4f6;--shadow: 0 16px 40px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(56,189,248,.08),transparent 45%),var(--bg);line-height:1.65}.container{max-width:900px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;background:#0f0f10db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}[data-theme=light] .site-header{background:#ffffffeb}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 6px 8px}.top-bar-spacer{flex:1}.top-bar-actions{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;color:var(--text)}.top-bar-link{color:var(--text);text-decoration:none;letter-spacing:.02em}.top-bar-link:hover,.top-bar-link:focus{color:var(--accent)}.theme-toggle{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.theme-toggle svg{width:18px;height:18px;fill:currentColor}.theme-toggle:hover,.theme-toggle:focus{transform:rotate(18deg) scale(1.02);box-shadow:0 10px 20px #0003}.top-nav{display:flex;gap:18px;padding:14px 22px;flex-wrap:wrap;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin:0 auto 12px;width:fit-content;box-shadow:var(--shadow)}.top-nav a{text-decoration:none;color:var(--text);font-size:.95rem;padding-bottom:2px;border-bottom:2px solid transparent}.top-nav a:hover,.top-nav a:focus{color:var(--accent);border-bottom-color:var(--accent)}main{padding:48px 0 32px}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,340px);gap:40px;padding:32px 0 8px;margin-bottom:32px;align-items:center}.hero-copy{order:1}.hero-card{order:2}h1{font-size:2rem;font-weight:600;margin:0 0 8px}.subtitle{font-size:1rem;color:var(--muted);margin:0 0 10px}.lead{margin:0}.hero-card{background:var(--surface);border-radius:22px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center}.hero-photo{width:220px;height:220px;display:block;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.08)}.hero-card-content{margin-top:16px}.hero-tags{margin:16px 0;font-size:.9rem;color:var(--muted);text-align:center}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:10px;border:1px solid var(--accent);color:var(--accent);font-size:.9rem;font-weight:500;background:transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.button:hover,.button:focus{background:#2563eb14;text-decoration:none}.button.secondary{border-color:var(--accent-2);color:var(--accent-2);background:#22d3ee14}.button.disabled{opacity:.45;pointer-events:none}.hero-copy h3{margin:20px 0 8px;font-size:1rem}.hero-copy ul{margin:0;padding-left:18px}.github-calendar{width:100%;max-width:560px;height:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.section{margin-bottom:56px}h2{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:20px}.item{margin-bottom:24px}.item h3{margin-bottom:4px;font-size:1.05rem}.meta{font-size:.85rem;color:var(--muted);margin-bottom:8px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.project-card{background:var(--surface);border-radius:16px;padding:16px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;transition:transform .2s ease,box-shadow .2s ease}.project-thumb{width:100%;height:160px;border-radius:12px;background:linear-gradient(135deg,#0f172a,#1e293b 55%,#0ea5e9 120%);margin-bottom:6px}.project-card .button{margin-top:auto;width:fit-content}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #0f172a1f}.project-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.timeline{border-left:1px solid var(--border);padding-left:24px}.timeline-item{position:relative;margin-bottom:32px;display:grid;grid-template-columns:140px 1fr;column-gap:24px;align-items:start}.timeline-item:before{content:"";position:absolute;left:-7px;top:12px;width:8px;height:8px;background:var(--accent);border-radius:50%}.timeline-date{font-size:.8rem;color:var(--accent-2);background:#22d3ee1f;border-radius:999px;padding:4px 12px;width:fit-content;margin-top:2px}.timeline-content{background:var(--surface);border-radius:12px;padding:16px;border:1px solid var(--border);box-shadow:var(--shadow)}.contact-icons{display:flex;gap:20px;margin-top:20px}.contact-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--accent);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.contact-icon svg{width:24px;height:24px}.contact-icon:hover,.contact-icon:focus{background:#38bdf81a;transform:translateY(-3px);box-shadow:0 8px 16px #0003;color:var(--accent)}.site-footer{font-size:.8rem;color:var(--muted);padding:24px 0 48px;border-top:1px solid var(--border)}@media(max-width:900px){.top-nav{gap:12px}h1{font-size:1.7rem}.hero{grid-template-columns:1fr}.hero-card{order:2}.hero-copy{order:1}.timeline-item{grid-template-columns:1fr}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .42s ease,transform .42s ease}.reveal.visible{opacity:1;transform:translateY(0)}.top-nav a.active{color:var(--accent);border-bottom:2px solid var(--accent)}section,.hero{scroll-margin-top:90px}
