:root{--bg: #0b0c10;--panel: #111318;--text: #e6e6e6;--muted: #a0a3ab;--brand: #60a5fa;--brand-700: #3b82f6;--accent: #a78bfa;--ring: rgba(96, 165, 250, .35);--shadow: 0 10px 30px rgba(0,0,0,.35);--tone-1: #0b0c10;--tone-2: #0d0f14;--tone-3: #101219}[data-theme=light]{--bg: #ffffff;--panel: #f8f9fa;--text: #1a1a1a;--muted: #6b7280;--brand: #2563eb;--brand-700: #1d4ed8;--accent: #7c3aed;--ring: rgba(37, 99, 235, .25);--shadow: 0 10px 30px rgba(0,0,0,.1);--tone-1: #ffffff;--tone-2: #f8f9fa;--tone-3: #f1f5f9}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text);line-height:1.6;transition:background-color .3s ease,color .3s ease}[data-theme=dark] body{background:radial-gradient(1200px 600px at 20% -10%,rgba(96,165,250,.25),transparent 40%),radial-gradient(1000px 600px at 120% 10%,rgba(167,139,250,.25),transparent 40%),var(--bg)}[data-theme=light] body{background:radial-gradient(1200px 600px at 20% -10%,rgba(37,99,235,.15),transparent 40%),radial-gradient(1000px 600px at 120% 10%,rgba(124,58,237,.15),transparent 40%),var(--bg)}.container{width:min(1100px,92%);margin:0 auto}.section{padding:96px 0}.section.alt{background:linear-gradient(180deg,#ffffff05,#fff0)}[data-theme=light] .section.alt{background:linear-gradient(180deg,#00000005,#0000)}.tone-1{background:var(--tone-1)}.tone-2{background:var(--tone-2)}.tone-3{background:var(--tone-3)}.tone-sep{border-top:1px solid rgba(255,255,255,.04)}[data-theme=light] .tone-sep{border-top:1px solid rgba(0,0,0,.08)}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);background:#0b0c1099;border-bottom:1px solid rgba(255,255,255,.06);transition:background-color .3s ease,border-color .3s ease}[data-theme=light] .site-header{background:#fffc;border-bottom:1px solid rgba(0,0,0,.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#0b0c10;font-weight:800}[data-theme=light] .brand-mark{color:#fff}.brand-name{font-weight:700;letter-spacing:.2px}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease}[data-theme=light] .theme-toggle{border-color:#0000001f}.theme-toggle:hover{border-color:#ffffff3d;background:#ffffff0a}[data-theme=light] .theme-toggle:hover{border-color:#0000003d;background:#0000000a}.menu-toggle{display:none;background:transparent;border:0;color:var(--text)}.nav{display:flex;gap:6px}.nav-link{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);border-color:#ffffff1f;background:#ffffff0a}[data-theme=light] .nav-link.active{border-color:#0000001f;background:#0000000a}.main{display:block}.hero{padding-top:128px;padding-bottom:120px}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.title{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0 0 12px}.subtitle{margin:0 0 24px;color:var(--muted);font-size:clamp(16px,2vw,18px)}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.shimmer{position:relative;background:linear-gradient(90deg,var(--text) 0%,var(--text) 40%,rgba(255,255,255,.6) 50%,var(--text) 60%,var(--text) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .shimmer{background:linear-gradient(90deg,var(--text) 0%,var(--text) 40%,rgba(0,0,0,.6) 50%,var(--text) 60%,var(--text) 100%)}.shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.22) 20%,transparent 40%);transform:translate(-100%);animation:shimmer 4s linear infinite}[data-theme=light] .shimmer:after{background:linear-gradient(120deg,transparent 0%,rgba(0,0,0,.22) 20%,transparent 40%)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero-wrap{position:relative}.hero-visual{position:relative;height:clamp(380px,52vh,560px);display:grid;place-items:center;overflow:visible}[data-theme=light] .hero-photo{filter:drop-shadow(0 20px 40px rgba(0,0,0,.15))}.photo-wrap{position:relative;transform:rotate(-2deg);animation:float 6s ease-in-out infinite;z-index:1}.photo-wrap:before{content:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.orbit{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;z-index:0}.orbit-a{width:340px;height:340px;border:2px dashed rgba(96,165,250,.35);background:transparent;border-radius:50%;animation:spin 24s linear infinite;position:relative;box-shadow:0 0 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0d}.orbit-b{width:460px;height:460px;border:2px dashed rgba(167,139,250,.3);animation:spin 36s linear infinite reverse}[data-theme=light] .orbit-a{border-color:#2563eb40}[data-theme=light] .orbit-b{border-color:#7c3aed33}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:translateY(0)}.resume{display:grid;gap:20px;margin:16px 0 20px}.resume-item{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:18px 18px 14px;transition:all .3s ease}[data-theme=light] .resume-item{border-color:#00000014}.resume-item h3{margin:0 0 6px;font-size:18px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}[data-theme=light] .card{border-color:#00000014}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#60a5fa59}[data-theme=light] .card:hover{border-color:#2563eb40}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tag{font-size:12px;padding:4px 8px;border-radius:999px;background:#60a5fa1a;color:var(--brand);border:1px solid rgba(96,165,250,.35)}[data-theme=light] .tag{background:#2563eb1a;border-color:#2563eb40}.skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;color:var(--muted)}.contact{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);cursor:pointer;text-decoration:none;transition:all .2s ease}[data-theme=light] .button{border-color:#0000001f;background:#0000000a}.button:hover{border-color:#ffffff3d}[data-theme=light] .button:hover{border-color:#0000003d}.button.primary{background:linear-gradient(135deg,var(--brand),var(--accent));color:#0b0c10;border-color:transparent;box-shadow:0 8px 20px var(--ring)}[data-theme=light] .button.primary{color:#fff}.site-footer{padding:48px 0;border-top:1px solid rgba(255,255,255,.06);transition:border-color .3s ease}[data-theme=light] .site-footer{border-color:#00000014}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 960px){.grid-2{grid-template-columns:1fr}.hero{padding-bottom:96px}.hero-visual{height:clamp(320px,48vh,420px)}.orbit-a{width:280px;height:280px}.orbit-b{width:380px;height:380px}}@media (max-width: 720px){.menu-toggle{display:inline-flex}.nav{position:absolute;top:64px;right:4%;left:4%;background:#0b0c10e6;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:8px;display:none;flex-direction:column}.nav.open{display:flex}.nav-link{text-align:left;padding:10px 12px}.cards,.skills{grid-template-columns:1fr}.hero-visual{height:300px}}@media (max-width: 720px){[data-theme=light] .nav{background:#fffffff2;border-color:#00000014}}.values-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:500px;margin:4rem 0}.values-image{position:relative;z-index:2}.values-orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;animation:orbit-rotate 20s linear infinite}.value-item{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%,-50%);transition:all .3s ease}.value-item:hover{transform:translate(-50%,-50%) scale(1.1)}.value-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #00000026}.value-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center;white-space:nowrap}@keyframes orbit-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.pixel-art-container{position:relative;display:flex;justify-content:center;align-items:center;width:400px;height:400px}.pixel-art-canvas{border-radius:12px;box-shadow:0 8px 32px #0000001a;transition:all .5s ease;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.pixel-art-canvas.complete{animation:pixel-glow 2s ease-in-out}.pixel-art-canvas.show-original{opacity:0;transform:scale(.8)}.original-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:12px;box-shadow:0 8px 32px #0000001a;opacity:0;transform:scale(1.2);animation:image-reveal 1s ease-out forwards}@keyframes pixel-glow{0%,to{box-shadow:0 8px 32px #0000001a}50%{box-shadow:0 8px 32px #4a7c594d}}@keyframes image-reveal{to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.values-visual{min-height:400px;margin:2rem 0}.values-orbit{width:400px;height:400px}.pixel-art-container{width:300px;height:300px}.value-item{transform:translate(-50%,-50%) scale(.8)}.value-label{font-size:12px}}
