@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-deep:#06060b;--bg-base:#0c0c14;--bg-surface:#12121c;--bg-elevated:#1a1a28;--bg-hover:#222234;--glass-bg:#12121ca6;--glass-border:#ffffff0f;--glass-border-hover:#ffffff1f;--glass-blur:20px;--text-primary:#e8e6f0;--text-secondary:#8b87a0;--text-muted:#5c586e;--accent:#34d399;--accent-dim:#059669;--accent-glow:#34d39926;--accent-glow-strong:#34d3994d;--accent-secondary:#22d3ee;--gradient-accent:linear-gradient(135deg, #34d399 0%, #22d3ee 100%);--gradient-accent-subtle:linear-gradient(135deg, #34d3991f 0%, #22d3ee14 100%);--gradient-hero:linear-gradient(180deg, #34d3990f 0%, transparent 60%);--border:#ffffff0f;--border-accent:#34d39940;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 64px #00000080;--shadow-glow:0 0 40px #34d39914;--shadow-card-hover:0 8px 40px #34d3991a, 0 0 0 1px #34d39926;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-deep);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% -20%,#34d3990f,#0000),radial-gradient(60% 40% at 80%,#22d3ee08,#0000),radial-gradient(60% 40% at 20% 80%,#8b5cf608,#0000);position:fixed;inset:0}#root{z-index:1;position:relative}::selection{color:#fff;background:#34d3994d}a{color:var(--accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent-secondary)}img{max-width:100%;display:block}ul,ol{list-style:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #34d3990d}50%{box-shadow:0 0 40px #34d3991f}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes border-rotate{0%{--angle:0deg}to{--angle:360deg}}@keyframes dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.portfolio{max-width:900px;padding:var(--space-2xl) var(--space-lg);gap:var(--space-3xl);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.header{padding:var(--space-4xl) 0 var(--space-3xl);text-align:left;animation:fadeInUp .8s var(--ease-out) both;position:relative}.header:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#34d39914 0%,#0000 70%);width:400px;height:400px;position:absolute;top:-60px;left:-100px}.header__status{align-items:center;gap:var(--space-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--accent);letter-spacing:.5px;text-transform:uppercase;margin-bottom:var(--space-lg);border-radius:100px;padding:6px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.header__status-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2s ease-in-out infinite dot-pulse}.header__name{letter-spacing:-1.5px;margin-bottom:var(--space-sm);background:var(--gradient-accent);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.8rem,6vw,4.2rem);font-weight:800;line-height:1.1;animation:6s infinite gradient-shift}.header__role{color:var(--text-secondary);margin-bottom:var(--space-lg);letter-spacing:-.2px;font-size:1.25rem;font-weight:400}.header__bio{color:var(--text-secondary);max-width:600px;padding-left:var(--space-lg);border-left:2px solid var(--accent-dim);font-size:1.05rem;line-height:1.75;position:relative}.header__divider{margin-top:var(--space-3xl);background:linear-gradient(90deg, var(--accent-dim), transparent 80%);border:none;height:1px}.section{animation:fadeInUp .8s var(--ease-out) both}.section:nth-child(3){animation-delay:.1s}.section:nth-child(4){animation-delay:.2s}.section:nth-child(5){animation-delay:.3s}.section:nth-child(6){animation-delay:.4s}.section__title{color:var(--text-primary);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-md);letter-spacing:-.2px;font-size:1.1rem;font-weight:600;display:flex}.section__title-icon{border-radius:var(--radius-md);background:var(--gradient-accent-subtle);border:1px solid var(--border-accent);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:inline-flex}.section__title-line{background:linear-gradient(90deg, var(--border), transparent);flex:1;height:1px}.two-col-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.two-col-grid{grid-template-columns:1fr}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.glass-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);height:1px;position:absolute;top:0;left:0;right:0}.glass-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.glass-card__label{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.75rem;font-weight:600;display:flex}.tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.tag{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--duration-normal) var(--ease-out);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.tag:before{content:"";background:var(--gradient-accent-subtle);opacity:0;transition:opacity var(--duration-normal) var(--ease-out);position:absolute;inset:0}.tag:hover{border-color:var(--border-accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #34d39914}.tag:hover:before{opacity:1}.tag span{z-index:1;position:relative}.projects-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}@media (width<=760px){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.project-card:before{content:"";background:var(--gradient-accent);opacity:0;height:3px;transition:opacity var(--duration-normal) var(--ease-out);position:absolute;top:0;left:0;right:0}.project-card:after{content:"";pointer-events:none;opacity:0;transition:opacity var(--duration-normal) var(--ease-out);background:radial-gradient(circle at 100% 0,#34d3990a,#0000 60%);position:absolute;inset:0}.project-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.project-card:hover:before,.project-card:hover:after{opacity:1}.project-card__icon{border-radius:var(--radius-md);background:var(--gradient-accent-subtle);border:1px solid var(--border-accent);width:44px;height:44px;margin-bottom:var(--space-md);justify-content:center;align-items:center;font-size:1.3rem;display:flex}.project-card__name{color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.3px;z-index:1;font-size:1.15rem;font-weight:700;position:relative}.project-card__desc{color:var(--text-secondary);z-index:1;font-size:.9rem;line-height:1.65;position:relative}.games-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}@media (width<=640px){.games-grid{grid-template-columns:1fr}}.game-item{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);cursor:default;display:flex;position:relative}.game-item:hover{background:#ffffff08}.game-item__marker{background:var(--accent-dim);width:6px;height:6px;transition:all var(--duration-normal) var(--ease-out);border-radius:50%;flex-shrink:0}.game-item:hover .game-item__marker{background:var(--accent);transform:scale(1.4);box-shadow:0 0 10px #34d39966}.game-item__name{color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out);font-size:.95rem}.game-item:hover .game-item__name{color:var(--text-primary)}.footer{padding:var(--space-2xl) 0;text-align:center;animation:fadeIn 1s var(--ease-out) .5s both;margin-top:auto;position:relative}.footer__divider{background:var(--border);height:1px;margin-bottom:var(--space-xl);border:none}.footer__text{color:var(--text-muted);letter-spacing:.3px;justify-content:center;align-items:center;gap:var(--space-sm);font-size:.82rem;display:flex}.footer__heart{color:var(--accent);animation:3s ease-in-out infinite float;display:inline-block}.footer__stack{font-family:var(--font-mono);color:var(--text-muted);margin-top:var(--space-sm);opacity:.6;font-size:.75rem}@media (width<=768px){.portfolio{padding:var(--space-lg) var(--space-md);gap:var(--space-2xl)}.header{padding:var(--space-3xl) 0 var(--space-2xl)}.header__name{font-size:2.4rem}.header__role{font-size:1.1rem}.header__bio{font-size:.95rem}}@media (width<=480px){.portfolio{padding:var(--space-md) var(--space-md);gap:var(--space-xl)}.header{padding:var(--space-2xl) 0 var(--space-xl)}.header__name{font-size:2rem}.glass-card{padding:var(--space-md)}.project-card{padding:var(--space-lg)}}
