.portfolio-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:9999;display:none;opacity:0;transition:opacity .3s ease}.portfolio-lightbox.active{display:flex;align-items:center;justify-content:center;opacity:1}.lightbox-close{position:absolute;top:20px;right:20px;width:50px;height:50px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.3);border-radius:50%;color:white;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001}.lightbox-close:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}.lightbox-content{max-width:1200px;width:90%;max-height:90vh;background:white;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr;position:relative;animation:slideUp .4s ease}@keyframes slideUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.lightbox-slider{position:relative;background:var(--gray-100);overflow:hidden}.lightbox-slides{display:flex;transition:transform .4s ease;height:100%}.lightbox-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.lightbox-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--gray-800);transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.15)}.slider-nav:hover{background:white;transform:translateY(-50%) scale(1.1)}.slider-nav.prev{left:20px}.slider-nav.next{right:20px}.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease}.slider-dot.active{background:white;width:24px;border-radius:5px}.lightbox-info{padding:var(--space-10);overflow-y:auto;max-height:90vh}.lightbox-category{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4)}.lightbox-title{font-size:var(--text-4xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--space-4);line-height:1.2}.lightbox-description{font-size:var(--text-lg);color:var(--gray-700);line-height:1.8;margin-bottom:var(--space-8)}.project-details{display:grid;gap:var(--space-6);margin-bottom:var(--space-8)}.detail-item{display:flex;align-items:flex-start;gap:var(--space-3)}.detail-icon{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:white;font-size:18px;flex-shrink:0}.detail-content h4{font-size:var(--text-base);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-1) 0}.detail-content p{font-size:var(--text-sm);color:var(--gray-600);margin:0}.tech-stack{margin-bottom:var(--space-8)}.tech-stack h4{font-size:var(--text-lg);font-weight:700;color:var(--gray-900);margin-bottom:var(--space-4)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-tag{padding:var(--space-2) var(--space-4);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-700);font-weight:500}.lightbox-cta{display:flex;gap:var(--space-4);margin-top:var(--space-8)}.btn-visit{flex:1;padding:var(--space-4) var(--space-6);background:var(--gradient-primary);color:white;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center;display:inline-block}.btn-visit:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-similar{padding:var(--space-4) var(--space-6);background:var(--gray-100);color:var(--gray-700);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:all .3s ease}.btn-similar:hover{background:var(--gray-200)}@media (max-width:968px){.lightbox-content{grid-template-columns:1fr;max-height:95vh}.lightbox-slider{min-height:50vh}.lightbox-info{max-height:none}.lightbox-title{font-size:var(--text-2xl)}.slider-nav{width:40px;height:40px}.slider-nav.prev{left:10px}.slider-nav.next{right:10px}}@media (max-width:640px){.lightbox-close{top:10px;right:10px;width:40px;height:40px;font-size:24px}.lightbox-info{padding:var(--space-6)}.lightbox-cta{flex-direction:column}}.keyboard-hint{position:absolute;bottom:20px;right:20px;background:rgba(0,0,0,.7);color:white;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);opacity:.6;pointer-events:none}@media (max-width:768px){.keyboard-hint{display:none}}