@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary: #1a1b26;--bg-secondary: #16161e;--bg-tertiary: #1f2335;--bg-highlight: #292e42;--text-primary: #c0caf5;--text-secondary: #a9b1d6;--text-muted: #565f89;--accent-blue: #7aa2f7;--accent-cyan: #7dcfff;--accent-green: #9ece6a;--accent-yellow: #e0af68;--accent-orange: #ff9e64;--accent-magenta: #bb9af7;--accent-red: #f7768e;--border-color: #292e42;--terminal-green: #9ece6a;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-highlight);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.dev-portfolio{display:flex;min-height:100vh}.sidebar{width:60px;background:linear-gradient(180deg,#16161ef2,#1a1b26fa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(41,46,66,.5);display:flex;flex-direction:column;justify-content:space-between;position:fixed;left:0;top:0;height:100vh;z-index:100;box-shadow:4px 0 20px #0000004d,inset -1px 0 #ffffff08}.sidebar-icons{display:flex;flex-direction:column;padding:12px 0;gap:4px}.sidebar-icon{width:60px;height:52px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-muted);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);margin:0 6px;border-radius:10px}.sidebar-icon svg{width:22px;height:22px;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-icon .project-icon-img{width:32px;height:32px;object-fit:contain;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-icon .project-icon-placeholder{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));border-radius:8px;font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--bg-primary);transition:all .3s ease}.sidebar-icon:hover .project-icon-img{transform:scale(1.15);filter:drop-shadow(0 4px 12px rgba(122,162,247,.4))}.sidebar-icon:hover .project-icon-placeholder{transform:scale(1.15);box-shadow:0 4px 15px #7aa2f780}.sidebar-icon.active .project-icon-img{filter:drop-shadow(0 0 12px var(--accent-blue));transform:scale(1.1)}.sidebar-icon.active .project-icon-placeholder{box-shadow:0 0 20px var(--accent-blue);transform:scale(1.1)}.sidebar-icon:hover{color:var(--text-primary);background:#7aa2f714}.sidebar-icon:hover svg{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(122,162,247,.3))}.sidebar-icon.active{color:var(--accent-blue);background:linear-gradient(135deg,#7aa2f726,#7dcfff1a);box-shadow:0 4px 15px #7aa2f733,inset 0 1px #ffffff1a}.sidebar-icon.active:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:4px;height:28px;background:linear-gradient(180deg,var(--accent-blue),var(--accent-cyan));border-radius:0 4px 4px 0;box-shadow:0 0 12px var(--accent-blue)}.sidebar-icon.active svg{filter:drop-shadow(0 0 8px var(--accent-blue))}.sidebar-icon:after{content:attr(title);position:absolute;left:65px;top:50%;transform:translateY(-50%) translate(-10px);background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-highlight));color:var(--text-primary);padding:8px 14px;border-radius:8px;font-size:12px;font-family:var(--font-mono);white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 25px #0006,inset 0 1px #ffffff1a;border:1px solid rgba(122,162,247,.2);z-index:1000}.sidebar-icon:hover:after{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.sidebar-bottom{padding:12px 0;border-top:1px solid rgba(41,46,66,.5);background:linear-gradient(180deg,transparent 0%,rgba(122,162,247,.03) 100%)}.main-content{flex:1;margin-left:60px;display:flex;flex-direction:column;min-height:100vh}.tab-bar{background:linear-gradient(180deg,#16161efa,#1f2335f2);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(41,46,66,.6);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50;height:42px;box-shadow:0 4px 20px #0003,inset 0 -1px #ffffff08}.tabs{display:flex;height:100%;overflow-x:auto;padding-left:8px;gap:2px}.tabs::-webkit-scrollbar{height:0}.tab{padding:0 18px;height:calc(100% - 6px);margin-top:6px;display:flex;align-items:center;gap:10px;background:#1f233580;border:none;border-radius:8px 8px 0 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;border:1px solid transparent;border-bottom:none}.tab:hover{background:#292e42b3;color:var(--text-secondary);transform:translateY(-1px)}.tab.active{background:linear-gradient(180deg,var(--bg-primary) 0%,rgba(26,27,38,.98) 100%);color:var(--text-primary);border:1px solid rgba(122,162,247,.3);border-bottom:none;box-shadow:0 -4px 15px #7aa2f71a,inset 0 1px #ffffff0d;z-index:1}.tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40%;height:2px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-cyan));border-radius:0 0 2px 2px;box-shadow:0 0 10px var(--accent-blue)}.tab-icon{font-size:14px;transition:transform .3s ease}.tab:hover .tab-icon{transform:scale(1.15)}.window-controls{display:flex;gap:10px;padding:0 16px}.control{width:14px;height:14px;border-radius:50%;transition:all .3s ease;cursor:pointer;box-shadow:inset 0 -2px 4px #0003,0 2px 4px #0003}.control:hover{transform:scale(1.15)}.control.minimize{background:linear-gradient(135deg,#e0af68,#d4a05a);box-shadow:inset 0 -2px 4px #0003,0 2px 8px #e0af6866}.control.maximize{background:linear-gradient(135deg,#9ece6a,#8fbd5c);box-shadow:inset 0 -2px 4px #0003,0 2px 8px #9ece6a66}.control.close{background:linear-gradient(135deg,#f7768e,#e8657b);box-shadow:inset 0 -2px 4px #0003,0 2px 8px #f7768e66}.breadcrumb{padding:10px 24px;background:linear-gradient(90deg,#1f2335e6,#292e42b3);border-bottom:1px solid rgba(41,46,66,.5);font-family:var(--font-mono);font-size:12px;color:var(--text-muted);display:flex;align-items:center;box-shadow:inset 0 1px #ffffff05}.breadcrumb .path{color:var(--accent-cyan);text-shadow:0 0 10px rgba(125,207,255,.3)}.breadcrumb .separator{margin:0 8px;color:var(--text-muted)}.breadcrumb .current{color:var(--accent-yellow);background:#e0af681a;padding:3px 10px;border-radius:4px;text-shadow:0 0 10px rgba(224,175,104,.3)}.content-area{flex:1;padding:0}.section{padding:60px 40px;max-width:1200px;margin:0 auto;border-bottom:1px solid var(--border-color)}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:40px}.section-header .line-number{font-family:var(--font-mono);font-size:14px;color:var(--accent-magenta);background:var(--bg-highlight);padding:4px 12px;border-radius:4px}.section-header h2{font-family:var(--font-mono);font-size:24px;font-weight:600;color:var(--text-primary)}.section-header .comment{color:var(--accent-green)}.hero-section{padding-top:80px;padding-bottom:80px}.hero-main{display:flex;gap:40px;align-items:flex-start}.hero-left{flex:1;min-width:0}.hero-right{flex-shrink:0;width:400px}.business-card{position:relative;background:linear-gradient(145deg,#16161ef2,#1f2335e6,#292e42d9);border:1px solid rgba(122,162,247,.15);border-radius:20px;padding:28px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 25px 50px #0006,0 10px 25px #0000004d,inset 0 1px #ffffff14,inset 0 -1px #0003}.business-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(122,162,247,.3) 50%,transparent 100%)}.business-card:hover{transform:translateY(-8px) scale(1.02);border-color:#7aa2f766;box-shadow:0 35px 70px #00000080,0 15px 35px #7aa2f726,inset 0 1px #ffffff1f,0 0 30px #7aa2f71a}.business-card:hover .card-glow{opacity:1}.card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(122,162,247,.1) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card-content{position:relative;z-index:1}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.card-logo{font-family:var(--font-mono);font-size:18px;font-weight:700}.logo-bracket{color:var(--accent-cyan)}.logo-text{color:var(--accent-blue)}.card-qr{width:50px;height:50px;background:var(--bg-primary);border-radius:4px;padding:4px}.qr-pattern{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:100%;height:100%}.qr-cell{background:var(--bg-highlight);border-radius:1px;transition:background .3s ease,transform .3s ease}.qr-cell.filled{background:var(--accent-cyan);box-shadow:0 0 4px var(--accent-cyan)}.card-name{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.card-role{font-family:var(--font-mono);font-size:13px;color:var(--accent-green);margin-bottom:16px}.card-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin-bottom:16px}.card-contacts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.card-contact-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit;font-size:12px}.card-contact-item:hover{border-color:var(--accent-blue);background:var(--bg-highlight)}.contact-icon{font-size:14px}.contact-text{flex:1;font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-hint,.link-hint{font-size:12px;color:var(--text-muted);opacity:0;transition:opacity .2s ease}.card-contact-item:hover .copy-hint,.card-contact-item:hover .link-hint{opacity:1}.card-footer{text-align:center}.card-location{font-size:11px;color:var(--text-muted)}.card-section-title{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--accent-cyan);margin-bottom:12px}.section-icon{font-size:16px}.card-focus-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.focus-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-primary);border-radius:6px;border-left:2px solid var(--accent-blue)}.focus-bullet{color:var(--accent-yellow);font-size:12px}.focus-text{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.card-learning{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.learning-row{display:flex;align-items:center;gap:8px}.learning-icon{font-size:14px;width:20px;text-align:center}.learning-label{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);width:60px}.learning-value{font-family:var(--font-mono);font-size:12px;color:var(--accent-green);background:var(--bg-highlight);padding:2px 8px;border-radius:4px}.card-motto{font-size:12px;color:var(--text-muted);font-style:italic}@media(max-width:1024px){.hero-main{flex-direction:column}.hero-right{width:100%;max-width:400px}}.terminal-window{background:linear-gradient(145deg,#16161ef2,#1f2335e6);border:1px solid rgba(41,46,66,.6);border-radius:12px;overflow:hidden;margin-bottom:40px;max-width:600px;box-shadow:0 20px 60px #0006,0 8px 25px #0000004d,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1)}.terminal-window:hover{transform:translateY(-4px);box-shadow:0 25px 70px #00000080,0 12px 35px #7aa2f71a,inset 0 1px #ffffff14;border-color:#7aa2f74d}.terminal-header{background:linear-gradient(180deg,#1f2335f2,#292e42cc);padding:12px 18px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(41,46,66,.6);box-shadow:inset 0 1px #ffffff08}.terminal-buttons{display:flex;gap:10px}.btn-red,.btn-yellow,.btn-green{width:14px;height:14px;border-radius:50%;transition:all .3s ease;cursor:pointer}.btn-red{background:linear-gradient(135deg,#f7768e,#e8657b);box-shadow:inset 0 -2px 4px #0003,0 2px 6px #f7768e66}.btn-yellow{background:linear-gradient(135deg,#e0af68,#d4a05a);box-shadow:inset 0 -2px 4px #0003,0 2px 6px #e0af6866}.btn-green{background:linear-gradient(135deg,#9ece6a,#8fbd5c);box-shadow:inset 0 -2px 4px #0003,0 2px 6px #9ece6a66}.btn-red:hover,.btn-yellow:hover,.btn-green:hover{transform:scale(1.15)}.terminal-title{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.terminal-body{padding:16px;font-family:var(--font-mono);font-size:14px;height:180px;overflow:hidden}.terminal-line{margin-bottom:8px}.terminal-line .command{color:var(--terminal-green)}.terminal-line .output{color:var(--text-secondary)}.terminal-line .prompt{color:var(--accent-cyan);margin-right:8px}.cursor{animation:blink 1s infinite;color:var(--terminal-green)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-content{display:flex;gap:40px;align-items:flex-start}.hero-avatar{position:relative;flex-shrink:0}.hero-avatar img{width:240px;height:240px;border-radius:12px;object-fit:cover;border:2px solid var(--border-color);transition:all .3s ease}.hero-avatar:hover img{border-color:var(--accent-blue);box-shadow:0 0 30px #7aa2f74d}.status-badge{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);background:var(--bg-tertiary);border:1px solid var(--accent-green);padding:4px 12px;border-radius:20px;font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap}.status-dot{width:8px;height:8px;background:var(--accent-green);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-info{flex:1}.hero-info h1{font-size:48px;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-info .role{font-family:var(--font-mono);font-size:16px;margin-bottom:16px}.role .keyword{color:var(--accent-magenta)}.role .string{color:var(--accent-green)}.typing-cursor{color:var(--accent-green);animation:blink 1s infinite;font-weight:400}.hero-info .tagline{font-size:18px;color:var(--text-secondary);margin-bottom:20px;line-height:1.7}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px}.meta-item{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px}.hero-actions{display:flex;gap:16px}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:6px;font-family:var(--font-mono);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));color:var(--bg-primary);border:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #7aa2f766}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-icon{opacity:.7}.code-block{background:linear-gradient(145deg,#16161ef2,#1f2335e6);border:1px solid rgba(41,46,66,.6);border-radius:12px;overflow:hidden;margin-bottom:24px;box-shadow:0 15px 40px #0000004d,0 5px 15px #0003,inset 0 1px #ffffff0d;transition:all .3s ease}.code-block:hover{box-shadow:0 20px 50px #00000059,0 8px 20px #7aa2f71a,inset 0 1px #ffffff14;border-color:#7aa2f74d}.code-content{padding:20px;font-family:var(--font-mono);font-size:14px;line-height:1.8}.code-line{display:flex}.line-num{color:var(--text-muted);width:30px;text-align:right;margin-right:20px;-webkit-user-select:none;user-select:none}.keyword{color:var(--accent-magenta)}.class-name{color:var(--accent-yellow)}.property{color:var(--accent-blue)}.string{color:var(--accent-green)}.comment{color:var(--text-muted);font-style:italic}.function{color:var(--accent-blue)}.func-name{color:var(--accent-yellow)}.about-content{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.about-paragraph{display:flex;gap:16px;padding:20px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease;position:relative;overflow:hidden}.about-paragraph:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent-purple),var(--accent-cyan));border-radius:4px 0 0 4px}.about-paragraph:hover{transform:translate(8px);border-color:var(--accent-purple);box-shadow:0 8px 32px #bb9af726}.about-icon{font-size:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.about-paragraph p{color:var(--text-secondary);line-height:1.8;margin:0;font-size:15px}.about-tags{display:flex;flex-wrap:wrap;gap:12px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.tag{padding:8px 16px;border-radius:20px;font-family:var(--font-mono);font-size:13px;font-weight:500;transition:all .3s ease}.tag-primary{background:#7aa2f726;color:var(--accent-blue);border:1px solid rgba(122,162,247,.3)}.tag-primary:hover{background:#7aa2f740;transform:translateY(-2px)}.tag-accent{background:#bb9af726;color:var(--accent-purple);border:1px solid rgba(187,154,247,.3)}.tag-accent:hover{background:#bb9af740;transform:translateY(-2px)}.tag-highlight{background:linear-gradient(135deg,#9ece6a33,#7dcfff33);color:var(--accent-green);border:1px solid rgba(158,206,106,.4);position:relative;overflow:hidden}.tag-highlight:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:tagShine 3s infinite}@keyframes tagShine{0%{left:-100%}50%,to{left:100%}}.tag-highlight:hover{background:linear-gradient(135deg,#9ece6a4d,#7dcfff4d);transform:translateY(-2px) scale(1.05)}.about-summary{padding:24px;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid var(--accent-blue)}.about-summary p{color:var(--text-secondary);line-height:1.8}.skills-tabbed{width:100%}.skills-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--bg-secondary);padding:8px;border-radius:12px;border:1px solid var(--border-color)}.skill-tab{flex:1;padding:14px 24px;background:transparent;border:none;border-radius:8px;font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.skill-tab:hover{background:#7aa2f71a;color:var(--text-secondary)}.skill-tab.active{background:var(--accent-blue);color:var(--bg-primary);box-shadow:0 4px 12px #7aa2f74d}.tab-icon{font-size:18px}.skills-tab-content{min-height:200px}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.skill-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:24px 18px;background:linear-gradient(145deg,#1f2335e6,#292e42b3);border:1px solid rgba(41,46,66,.6);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0003,inset 0 1px #ffffff0d;position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(122,162,247,.1),transparent);transition:left .5s ease}.skill-card:hover:before{left:100%}.skill-card:hover{border-color:#7aa2f780;transform:translateY(-4px) scale(1.02);box-shadow:0 12px 30px #0000004d,0 4px 15px #7aa2f733,inset 0 1px #ffffff1a}.skill-card .skill-icon{width:48px;height:48px;object-fit:contain}.skill-card .skill-name{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--text-primary);text-align:center}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.project-card{background:linear-gradient(145deg,#16161ef2,#1f2335e6);border:1px solid rgba(41,46,66,.6);border-radius:16px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 40px #0000004d,0 4px 15px #0003,inset 0 1px #ffffff0d;position:relative}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(122,162,247,.2) 50%,transparent 100%);z-index:1}.project-card:hover{border-color:#7aa2f766;transform:translateY(-8px) scale(1.01);box-shadow:0 25px 60px #0006,0 10px 25px #7aa2f726,inset 0 1px #ffffff1a}.project-header{padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.project-index{font-family:var(--font-mono);font-size:14px;min-width:60px;display:flex;align-items:center;justify-content:center}.project-index .bracket{color:var(--text-muted)}.project-index .index{color:var(--accent-orange)}.project-index-icon{width:56px;height:56px;object-fit:contain;border-radius:12px;padding:8px;background:linear-gradient(135deg,#7aa2f71a,#7dcfff0d);border:1px solid rgba(122,162,247,.2);box-shadow:0 4px 12px #0003;transition:all .3s ease}.project-card:hover .project-index-icon{transform:scale(1.05);box-shadow:0 6px 16px #7aa2f74d}.project-title-area{flex:1}.project-title-area h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.project-period{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.project-video-wrapper{aspect-ratio:16/9;background:var(--bg-primary);overflow:hidden}.project-video{width:100%;height:100%;object-fit:cover}.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted)}.placeholder-icon{font-size:32px;font-family:var(--font-mono);color:var(--accent-blue)}.placeholder-text{font-family:var(--font-mono);font-size:12px}.project-summary{padding:16px 20px;color:var(--text-secondary);font-size:14px;line-height:1.6;border-bottom:1px solid var(--border-color)}.project-tech{padding:12px 20px;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border-color)}.tech-tag{font-family:var(--font-mono);font-size:11px;padding:4px 10px;background:var(--bg-highlight);color:var(--accent-cyan);border-radius:4px;border:1px solid var(--border-color)}.project-impact{padding:12px 20px;display:flex;align-items:flex-start;gap:8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.impact-icon{font-size:14px}.impact-text{font-size:13px;color:var(--accent-green);line-height:1.5}.project-actions{padding:12px 20px;display:flex;gap:12px}.action-btn{flex:1;padding:10px 16px;border-radius:6px;font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary)}.action-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.action-btn.demo:hover{background:var(--accent-blue);color:var(--bg-primary)}.action-btn.video:hover{background:#ff6b6b;color:var(--bg-primary);border-color:#ff6b6b}.experience-list{display:flex;flex-direction:column;gap:0}.experience-item{display:flex;gap:24px}.exp-timeline{display:flex;flex-direction:column;align-items:center;width:20px}.timeline-dot{width:12px;height:12px;background:var(--accent-blue);border-radius:50%;flex-shrink:0;margin-top:6px}.timeline-line{width:2px;flex:1;background:var(--border-color);margin:8px 0}.exp-content{flex:1;padding-bottom:32px}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:8px}.exp-title{font-family:var(--font-mono);font-size:14px}.exp-period{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);background:var(--bg-highlight);padding:4px 10px;border-radius:4px}.exp-company{font-family:var(--font-mono);font-size:13px;margin-bottom:16px}.exp-details{list-style:none;padding-left:20px}.exp-details li{margin-bottom:10px;color:var(--text-secondary);font-size:14px;display:flex;gap:10px}.exp-details .bullet{color:var(--accent-cyan)}.exp-close{font-family:var(--font-mono);color:var(--text-primary);margin-top:12px}.contact-terminal{max-width:500px;margin-bottom:32px}.contact-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.contact-card{display:flex;align-items:center;gap:18px;padding:22px 26px;background:linear-gradient(145deg,#16161ef2,#1f2335e6);border:1px solid rgba(41,46,66,.6);border-radius:14px;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 25px #00000040,inset 0 1px #ffffff0d;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent-blue),var(--accent-cyan));opacity:0;transition:opacity .3s ease}.contact-card:hover:before{opacity:1;box-shadow:0 0 15px var(--accent-blue)}.contact-card:hover{border-color:#7aa2f766;transform:translate(8px) translateY(-2px);box-shadow:0 15px 40px #00000059,0 5px 15px #7aa2f726,inset 0 1px #ffffff1a}.contact-icon{font-size:24px}.contact-info{display:flex;flex-direction:column}.contact-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.contact-value{font-family:var(--font-mono);font-size:14px;color:var(--accent-cyan)}.footer{padding:24px 40px;background:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center}.footer-text{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-window{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:700px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.modal-header .btn-red{cursor:pointer}.modal-title{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.modal-body{padding:24px;overflow-y:auto}.modal-section{margin-bottom:24px}.modal-section h3{font-family:var(--font-mono);font-size:20px;color:var(--accent-blue);margin-bottom:8px}.modal-section h4{font-family:var(--font-mono);font-size:14px;color:var(--accent-magenta);margin-bottom:12px}.modal-section p{color:var(--text-secondary);line-height:1.7}.modal-period{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.test-accounts .accounts-grid{display:grid;gap:12px}.account-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-tertiary);border-radius:6px}.account-role{font-size:13px;color:var(--accent-yellow);min-width:60px}.account-item code{font-family:var(--font-mono);font-size:12px;padding:4px 8px;background:var(--bg-highlight);border-radius:4px;color:var(--accent-cyan)}.account-item code.password{color:var(--accent-green)}.features-list{list-style:none}.features-list li{display:flex;gap:10px;margin-bottom:10px;color:var(--text-secondary)}.feature-bullet{color:var(--accent-green)}.impact-box{display:flex;align-items:flex-start;gap:10px;padding:16px;background:var(--bg-tertiary);border-left:3px solid var(--accent-green);border-radius:4px;color:var(--text-secondary)}.modal-section .tech-tags{display:flex;flex-wrap:wrap;gap:8px}.modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.modal-btn{flex:1;padding:12px 20px;border-radius:6px;font-family:var(--font-mono);font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center;border:none}.modal-btn.primary{background:var(--accent-blue);color:var(--bg-primary)}.modal-btn.primary:hover{background:var(--accent-cyan)}.modal-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.modal-btn.secondary:hover{border-color:var(--accent-red);color:var(--accent-red)}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:0 12px;font-size:11px}.section{padding:40px 20px}.hero-content{flex-direction:column;align-items:center;text-align:center}.hero-info h1{font-size:32px}.hero-meta{justify-content:center}.hero-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;justify-content:center}.projects-grid{grid-template-columns:1fr}.code-line{flex-wrap:wrap}.code-line .line-num{display:none}.exp-header{flex-direction:column}.contact-links{grid-template-columns:1fr}}@media(max-width:480px){.terminal-window{margin:0 -20px;border-radius:0}.hero-avatar img{width:140px;height:140px}.hero-info h1{font-size:28px}.section-header h2{font-size:18px}.skill-grid{grid-template-columns:repeat(2,1fr)}}
