@charset "UTF-8";:root{--bg-base: #0d0d12;--bg-elevated: rgba(255, 255, 255, .035);--bg-elevated-hover: rgba(255, 255, 255, .055);--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .065);--accent-primary: #818cf8;--accent-secondary: #a5b4fc;--accent-tertiary: #c4b5fd;--accent-glow: rgba(99, 102, 241, .15);--text-primary: #ffffff;--text-secondary: #b4b4be;--text-tertiary: #8888a0;--text-muted: #6b6b80;--border-subtle: rgba(255, 255, 255, .08);--border-hover: rgba(99, 102, 241, .25);--border-accent: rgba(99, 102, 241, .35);--status-success: #10b981;--status-warning: #f59e0b;--status-info: #3b82f6;--section-padding-y: 100px;--section-padding-x: 50px;--card-padding: 32px;--card-radius: 16px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 3rem;--font-size-hero: 4.5rem;--transition-fast: .2s ease;--transition-medium: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(99, 102, 241, .15)}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}@media(min-width:1440px){html{font-size:17px}}@media(min-width:1920px){html{font-size:18px}}@media(min-width:2560px){html{font-size:20px}}body{font-family:var(--font-family);background:var(--bg-base);color:var(--text-primary);line-height:1.6;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.3;color:var(--text-primary)}p{margin:0;color:var(--text-secondary)}a{color:var(--accent-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-tertiary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--section-padding-x)}@media(max-width:768px){.container{padding:0 24px}}@media(min-width:1440px){.container{max-width:1400px}}@media(min-width:1920px){.container{max-width:1600px}}.section{padding:var(--section-padding-y) 0;position:relative}.section-header{text-align:center;margin-bottom:64px}.section-header .section-title{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:16px}.section-header .section-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:600px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-medium);border:none;text-decoration:none}.btn:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-primary{background:var(--accent-primary);color:var(--text-primary)}.btn-primary:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-elevated-hover);border-color:var(--border-hover);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--accent-secondary);border:1px solid var(--accent-primary)}.btn-outline:hover{background:#6366f11a;border-color:var(--accent-secondary);color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 16px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:var(--card-padding);transition:all var(--transition-medium)}.card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-4px)}.tag{display:inline-flex;align-items:center;padding:4px 12px;background:var(--bg-elevated);border-radius:6px;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#6366f126;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.5px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:var(--font-size-xs);font-weight:500}.status-badge.available{background:#10b98126;color:#34d399}.status-badge.available:before{content:"";width:6px;height:6px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.em{color:var(--accent-tertiary);font-weight:500}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#6366f14d;color:var(--text-primary)}@keyframes animStar{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}@-webkit-keyframes BackgroundAnimation{0%{background-position:0% 7%}50%{background-position:100% 94%}to{background-position:0% 7%}}@-moz-keyframes BackgroundAnimation{0%{background-position:0% 7%}50%{background-position:100% 94%}to{background-position:0% 7%}}@-o-keyframes BackgroundAnimation{0%{background-position:0% 7%}50%{background-position:100% 94%}to{background-position:0% 7%}}@keyframes BackgroundAnimation{0%{background-position:0% 7%}50%{background-position:100% 94%}to{background-position:0% 7%}}@keyframes progress{0%{transform:scaleX(0);transform-origin:left}to{transform-origin:left;transform:scaleX(1)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px var(--section-padding-x);display:flex;align-items:center;justify-content:space-between;background:transparent;transition:all var(--transition-medium)}@media(max-width:768px){.navbar{padding:16px 24px}}.navbar.scrolled{background:#0d0d12f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:12px var(--section-padding-x)}@media(max-width:768px){.navbar.scrolled{padding:12px 24px}}.navbar .navbar-brand{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.navbar .navbar-brand:hover{color:var(--accent-secondary)}.navbar .navbar-nav{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}@media(max-width:768px){.navbar .navbar-nav{display:none}.navbar .navbar-nav.active{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#0d0d12fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:16px 24px;gap:8px}}.navbar .nav-link{display:block;padding:10px 20px;font-size:var(--font-size-base);font-weight:600;color:var(--text-secondary);text-decoration:none;border-radius:8px;transition:all var(--transition-fast)}.navbar .nav-link:hover{color:var(--text-primary);background:var(--bg-elevated)}.navbar .nav-link.active{color:var(--accent-secondary)}.navbar .navbar-toggle{display:none;width:40px;height:40px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;align-items:center;justify-content:center;font-size:18px;transition:all var(--transition-fast)}@media(max-width:768px){.navbar .navbar-toggle{display:flex}}.navbar .navbar-toggle:hover{background:var(--bg-elevated-hover);color:var(--text-primary)}.navbar .navbar-resume{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:var(--font-size-sm);font-weight:500;color:var(--accent-secondary);text-decoration:none;border:1px solid var(--accent-primary);border-radius:8px;transition:all var(--transition-fast)}.navbar .navbar-resume:hover{background:#6366f11a;color:var(--text-primary)}@media(max-width:768px){.navbar .navbar-resume{display:none}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-base);padding:120px 0 80px}.hero .hero-background{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.hero .ambient-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6}.hero .ambient-glow.glow-1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);top:-200px;left:50%;transform:translate(-50%)}.hero .ambient-glow.glow-2{width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);top:40%;right:-100px;animation:floatGlow 15s ease-in-out infinite}.hero .ambient-glow.glow-3{width:300px;height:300px;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);bottom:10%;left:-50px;animation:floatGlow 20s ease-in-out infinite reverse}@keyframes floatGlow{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.hero .particles{position:absolute;top:0;left:0;width:100%;height:100%}.hero .particle{position:absolute;background:#ffffff4d;border-radius:50%;animation:float 20s infinite linear}.hero .particle.sm{width:2px;height:2px}.hero .particle.md{width:3px;height:3px}.hero .particle.lg{width:4px;height:4px}.hero .particle.glow{box-shadow:0 0 6px 2px #fff3}.hero .particle:nth-child(1){left:27%;top:56%;animation-delay:-19s;animation-duration:17s}.hero .particle:nth-child(2){left:35%;top:55%;animation-delay:-13s;animation-duration:20s}.hero .particle:nth-child(3){left:27%;top:29%;animation-delay:-6s;animation-duration:18s}.hero .particle:nth-child(4){left:62%;top:11%;animation-delay:-15s;animation-duration:24s}.hero .particle:nth-child(5){left:73%;top:78%;animation-delay:-16s;animation-duration:24s}.hero .particle:nth-child(6){left:53%;top:52%;animation-delay:-18s;animation-duration:17s}.hero .particle:nth-child(7){left:74%;top:49%;animation-delay:-6s;animation-duration:25s}.hero .particle:nth-child(8){left:62%;top:47%;animation-delay:-3s;animation-duration:17s}.hero .particle:nth-child(9){left:53%;top:51%;animation-delay:-12s;animation-duration:23s}.hero .particle:nth-child(10){left:46%;top:24%;animation-delay:-7s;animation-duration:25s}.hero .particle:nth-child(11){left:4%;top:87%;animation-delay:-8s;animation-duration:20s}.hero .particle:nth-child(12){left:20%;top:91%;animation-delay:-15s;animation-duration:20s}.hero .particle:nth-child(13){left:37%;top:5%;animation-delay:-6s;animation-duration:23s}.hero .particle:nth-child(14){left:26%;top:61%;animation-delay:-3s;animation-duration:25s}.hero .particle:nth-child(15){left:100%;top:65%;animation-delay:-20s;animation-duration:25s}.hero .particle:nth-child(16){left:30%;top:39%;animation-delay:-14s;animation-duration:16s}.hero .particle:nth-child(17){left:61%;top:21%;animation-delay:-3s;animation-duration:24s}.hero .particle:nth-child(18){left:82%;top:16%;animation-delay:-15s;animation-duration:23s}.hero .particle:nth-child(19){left:17%;top:26%;animation-delay:-3s;animation-duration:25s}.hero .particle:nth-child(20){left:88%;top:56%;animation-delay:-12s;animation-duration:20s}@keyframes float{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh) translate(50px);opacity:0}}.hero .shooting-star{position:absolute;width:100px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.8),transparent);animation:shoot 4s ease-in-out infinite;opacity:0}.hero .shooting-star:nth-child(1){top:20%;left:10%;animation-delay:0s}.hero .shooting-star:nth-child(2){top:40%;left:60%;animation-delay:2s}.hero .shooting-star:nth-child(3){top:60%;left:30%;animation-delay:4s}@keyframes shoot{0%{transform:translate(0) translateY(0);opacity:0}5%{opacity:1}20%{transform:translate(200px) translateY(100px);opacity:0}to{opacity:0}}.hero .hero-content{position:relative;z-index:10;text-align:center;max-width:900px;margin:0 auto;padding:0 24px}@media(min-width:1440px){.hero .hero-content{max-width:1000px}}@media(min-width:1920px){.hero .hero-content{max-width:1100px}}.hero .hero-avatar{width:150px;height:150px;border-radius:50%;margin:0 auto 20px;position:relative}@media(min-width:1920px){.hero .hero-avatar{width:170px;height:170px}}.hero .hero-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 25%;border:3px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d}.hero .hero-avatar:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.3) 0%,transparent 50%,rgba(139,92,246,.2) 100%);z-index:-1;filter:blur(8px)}.hero .hero-status{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.hero .hero-name{font-size:var(--font-size-hero);font-weight:700;color:var(--text-primary);margin-bottom:16px;letter-spacing:-.02em;line-height:1.1}@media(max-width:768px){.hero .hero-name{font-size:var(--font-size-4xl)}}.hero .hero-role{font-size:var(--font-size-xl);color:var(--accent-secondary);margin-bottom:16px;font-weight:500}.hero .hero-tagline{font-size:var(--font-size-lg);color:var(--text-tertiary);margin-bottom:56px;max-width:600px;margin-left:auto;margin-right:auto;font-weight:400}.hero .journey-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}@media(max-width:900px){.hero .journey-cards{grid-template-columns:1fr;gap:16px}}@media(min-width:1920px){.hero .journey-cards{gap:32px}}.hero .journey-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:28px 24px;text-align:left;transition:all var(--transition-medium);min-height:200px;display:flex;flex-direction:column}.hero .journey-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-4px)}.hero .journey-card .card-label{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-secondary);margin-bottom:16px}.hero .journey-card .card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:12px}.hero .journey-card .card-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.7;flex:1}.hero .journey-card .card-desc .em{color:var(--accent-tertiary);font-weight:500}.hero .hero-cta{display:flex;justify-content:center;gap:12px;margin-bottom:28px;flex-wrap:wrap}.hero .hero-social{display:flex;justify-content:center;gap:16px}.hero .hero-social a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:20px;transition:all var(--transition-medium)}.hero .hero-social a:hover{background:var(--bg-elevated-hover);border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-2px)}.current-focus{background:linear-gradient(180deg,#12141f 0%,var(--bg-base) 100%);position:relative}.current-focus:before{content:"";position:absolute;top:-200px;left:50%;transform:translate(-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(99,102,241,.04) 0%,transparent 70%);pointer-events:none}.current-focus .focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media(max-width:1024px){.current-focus .focus-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.current-focus .focus-grid{grid-template-columns:1fr}}.current-focus .focus-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:var(--card-padding);transition:all var(--transition-medium)}.current-focus .focus-card:hover{border-color:var(--border-hover);background:var(--bg-elevated-hover)}.current-focus .focus-card .focus-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:20px;color:var(--accent-secondary)}.current-focus .focus-card .focus-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:12px}.current-focus .focus-card .focus-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.75;margin-bottom:16px}.current-focus .focus-card .focus-tag{display:inline-block;padding:5px 12px;background:var(--accent-glow);border-radius:6px;font-size:var(--font-size-xs);font-weight:500;color:var(--accent-tertiary)}.projects-section{background:linear-gradient(180deg,var(--bg-base) 0%,#0f0f14 100%)}.about-section{background:linear-gradient(180deg,#0f0f14,#101016)}.about-section .about-content{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px;align-items:center}@media(max-width:900px){.about-section .about-content{grid-template-columns:1fr;gap:48px}}.about-section .about-philosophy{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-primary);border-radius:0 var(--card-radius) var(--card-radius) 0;padding:36px}.about-section .about-philosophy blockquote{font-size:17px;color:#d8d8e0;line-height:1.85;font-style:italic;margin:0}.about-section .about-philosophy cite{display:block;margin-top:24px;font-size:var(--font-size-sm);color:var(--accent-primary);font-style:normal;font-weight:500}.about-section .about-capabilities h3{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:24px}.about-section .capabilities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:600px){.about-section .capabilities-grid{grid-template-columns:1fr}}.about-section .capability-item{display:flex;align-items:flex-start;gap:20px;padding:24px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;transition:all var(--transition-fast)}.about-section .capability-item:hover{background:var(--bg-elevated-hover);border-color:var(--border-hover)}.about-section .capability-item i{font-size:24px;color:var(--accent-secondary);margin-top:2px}.about-section .capability-item .capability-content{flex:1}.about-section .capability-item .capability-label{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:8px}.about-section .capability-item .capability-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}.contact-section{background:linear-gradient(180deg,#101016 0%,var(--bg-base) 100%);text-align:center}.contact-section .section-header{margin-bottom:24px}.contact-section .contact-message{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:700px;margin:0 auto 48px;line-height:1.7}.contact-section .contact-methods{display:flex;justify-content:center;gap:24px;margin-bottom:48px;flex-wrap:wrap}.contact-section .contact-method{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 48px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--card-radius);transition:all var(--transition-medium);text-decoration:none;color:inherit}.contact-section .contact-method:hover{border-color:var(--border-accent);background:var(--bg-elevated-hover);transform:translateY(-4px)}.contact-section .contact-method i{font-size:28px;color:var(--accent-secondary)}.contact-section .contact-method .method-label{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.contact-section .contact-method .method-value{font-size:var(--font-size-base);color:var(--text-primary);font-weight:500}.contact-section .contact-resume .btn{padding:14px 28px;font-size:var(--font-size-base)}.footer{padding:48px var(--section-padding-x);text-align:center;background:#0b0b10;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--font-size-sm)}.featured-projects{display:flex;flex-direction:column;gap:32px;margin-bottom:64px}.project-card-featured{display:grid;grid-template-columns:400px 1fr;gap:40px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;padding:40px;transition:all var(--transition-medium);align-items:stretch}.project-card-featured:hover{border-color:var(--border-hover);background:var(--bg-elevated-hover)}.project-card-featured.featured{background:linear-gradient(135deg,#6366f114,#8b5cf60a);border-color:#6366f133}@media(max-width:1100px){.project-card-featured{grid-template-columns:1fr;gap:32px;padding:32px}}.project-card-featured .project-image{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:280px}.project-card-featured .project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-medium)}.project-card-featured .project-image:hover img{transform:scale(1.03)}.project-card-featured .project-image .placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--accent-primary);opacity:.5}.project-card-featured .project-content{display:flex;flex-direction:column;justify-content:center}.project-card-featured .project-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#6366f126;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;width:fit-content}.project-card-featured .project-badge i{font-size:10px}.project-card-featured .project-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:8px}.project-card-featured .project-subtitle{font-size:var(--font-size-base);color:var(--text-tertiary);margin-bottom:20px}.project-card-featured .project-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.75;margin-bottom:24px}.project-card-featured .project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.project-card-featured .project-tags .tag{padding:6px 14px;background:#ffffff12;color:#c4c4cc}.project-card-featured .project-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.project-card-featured .project-highlights .highlight{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--accent-tertiary)}.project-card-featured .project-highlights .highlight:before{content:"✓";color:var(--status-success);font-weight:700}.project-card-featured .project-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.more-projects{margin-top:48px}.more-projects .more-projects-header{font-size:var(--font-size-xl);font-weight:500;color:var(--text-muted);margin-bottom:24px}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1100px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.projects-grid{grid-template-columns:1fr}}.project-card-small{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:24px;transition:all var(--transition-medium);display:flex;flex-direction:column;min-height:320px}.project-card-small:hover{border-color:var(--border-hover);background:var(--bg-elevated-hover);transform:translateY(-4px)}.project-card-small.playable{position:relative}.project-card-small.playable:before{content:"🎮 PLAYABLE";position:absolute;top:12px;right:12px;padding:4px 8px;background:#10b98133;border:1px solid rgba(16,185,129,.4);border-radius:4px;font-size:10px;font-weight:700;color:#34d399;letter-spacing:.5px}.project-card-small .project-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:6px}.project-card-small .project-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:12px}.project-card-small .project-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.65;margin-bottom:16px}.project-card-small .project-footer{margin-top:auto}.project-card-small .project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.project-card-small .project-tags .tag{padding:5px 12px;font-size:var(--font-size-xs)}.project-card-small .project-actions{display:flex;gap:10px}.project-card-small .project-actions .btn{padding:8px 14px;font-size:var(--font-size-xs);flex:1}.project-card-small .view-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:var(--font-size-sm);color:var(--accent-secondary);transition:all var(--transition-fast)}.project-card-small .view-more:hover{color:var(--accent-tertiary);gap:10px}.project-card-small .view-more i{font-size:12px;transition:transform var(--transition-fast)}.project-card-small .view-more:hover i{transform:translate(2px)}.demo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background:#000000f2;opacity:0;visibility:hidden;transition:all var(--transition-medium)}.demo-modal.active{opacity:1;visibility:visible}.demo-modal .demo-modal-content{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:20px;max-width:1100px;max-height:90vh;overflow-y:auto;width:100%}.demo-modal .demo-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid var(--border-subtle)}.demo-modal .demo-header .demo-info{display:flex;align-items:center;gap:16px}.demo-modal .demo-header .demo-info i{font-size:32px;color:var(--accent-primary)}.demo-modal .demo-header .demo-info h3{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:4px}.demo-modal .demo-header .demo-info p{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.demo-modal .demo-header .demo-close{width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.demo-modal .demo-header .demo-close:hover{background:var(--bg-elevated-hover);color:var(--text-primary)}.demo-modal .demo-container{position:relative;background:#0a0a0f;margin:0}.demo-modal .demo-container video,.demo-modal .demo-container iframe{display:block;width:100%;max-width:100%;margin:0 auto}.demo-modal .demo-container video{max-height:70vh}.demo-modal .demo-container iframe{height:600px;border:none}@media(max-width:768px){.demo-modal .demo-container iframe{height:400px}}.demo-modal .demo-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a0ff2;color:var(--text-primary)}.demo-modal .demo-loading .loading-bar{width:200px;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:16px}.demo-modal .demo-loading .loading-bar .loading-progress{height:100%;background:var(--status-success);width:0%;transition:width .3s}.demo-modal .demo-loading p{font-size:var(--font-size-sm);color:var(--text-secondary)}.demo-modal .demo-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:20px 32px;border-top:1px solid var(--border-subtle)}@media(max-width:768px){.demo-modal{padding:20px}.demo-modal .demo-modal-content{border-radius:12px}.demo-modal .demo-header,.demo-modal .demo-controls{padding:16px 20px}}.project-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background:#000000e6;opacity:0;visibility:hidden;transition:all var(--transition-medium)}.project-modal.active{opacity:1;visibility:visible}.project-modal .modal-content{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:20px;max-width:1000px;max-height:90vh;overflow-y:auto;width:100%}.project-modal .modal-header{position:sticky;top:0;background:var(--bg-base);padding:24px 32px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:flex-start;z-index:10}.project-modal .modal-header h3{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:4px}.project-modal .modal-header p{font-size:var(--font-size-base);color:var(--text-tertiary)}.project-modal .modal-header .modal-close{width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.project-modal .modal-header .modal-close:hover{background:var(--bg-elevated-hover);color:var(--text-primary)}.project-modal .modal-body{padding:32px}.project-modal .modal-gallery{margin-bottom:32px}.project-modal .modal-gallery h4{font-size:var(--font-size-lg);font-weight:600;margin-bottom:16px}.project-modal .modal-gallery .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.project-modal .modal-gallery .gallery-item{border-radius:12px;overflow:hidden;background:var(--bg-elevated);cursor:pointer;transition:all var(--transition-medium)}.project-modal .modal-gallery .gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.project-modal .modal-gallery .gallery-item img{width:100%;height:200px;object-fit:cover}.project-modal .modal-gallery .gallery-item .gallery-caption{padding:12px}.project-modal .modal-gallery .gallery-item .gallery-caption h6{font-size:var(--font-size-sm);font-weight:600;margin-bottom:4px}.project-modal .modal-gallery .gallery-item .gallery-caption p{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.5}.project-modal .modal-details .detail-section{margin-bottom:24px}.project-modal .modal-details .detail-section h5{font-size:var(--font-size-base);font-weight:600;color:var(--accent-secondary);margin-bottom:12px}.project-modal .modal-details .detail-section p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.75}.project-modal .modal-footer{padding:24px 32px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:12px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000f7;display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;transition:all var(--transition-fast)}.lightbox.active{opacity:1;visibility:visible}.lightbox .lightbox-close{position:absolute;top:24px;right:24px;width:50px;height:50px;border-radius:50%;background:transparent;border:2px solid var(--text-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-medium);font-size:20px}.lightbox .lightbox-close:hover{background:var(--text-primary);color:var(--bg-base);transform:rotate(90deg)}.lightbox .lightbox-content{max-width:95vw;max-height:90vh;text-align:center}.lightbox .lightbox-content img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px}.lightbox .lightbox-content .lightbox-caption{margin-top:20px;color:var(--text-primary)}.lightbox .lightbox-content .lightbox-caption h6{font-size:var(--font-size-lg);margin-bottom:8px}.lightbox .lightbox-content .lightbox-caption p{font-size:var(--font-size-sm);color:var(--text-secondary)}
