.app-gallery {display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at top right, rgba(20,25,35,1) 0%, var(--bg-primary) 100%);position:relative;overflow:hidden;}.app-gallery::before {content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0;}.gal-toolbar {position:relative;height:60px;background:rgba(10, 10, 15, 0.7);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255, 255, 255, 0.05);display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);z-index:10;box-shadow:0 4px 20px rgba(0,0,0,0.2);}.gal-filters {display:flex;gap:var(--space-3);background:rgba(0,0,0,0.3);padding:4px;border-radius:30px;border:1px solid rgba(255,255,255,0.05);}.gal-filter-btn {padding:8px 24px;border-radius:24px;font-size:13px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);position:relative;overflow:hidden;letter-spacing:1px;text-transform:uppercase;}.gal-filter-btn:hover {color:#fff;text-shadow:0 0 8px rgba(255,255,255,0.5);}.gal-filter-btn.active {color:var(--bg-primary);background:var(--accent-primary);box-shadow:0 0 15px rgba(255, 158, 100, 0.4);}.gal-content {flex:1;padding:40px;overflow-y:auto;position:relative;z-index:1;}.gal-grid {display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:40px;max-width:1400px;margin:0 auto;}.gal-item {position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--bg-secondary);border:1px solid rgba(255, 255, 255, 0.08);box-shadow:0 10px 30px -10px rgba(0,0,0,0.5);transition:all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);transform:translateY(0);}.gal-item::before {content:"";position:absolute;top:0; left:0; right:0; bottom:0;border-radius:12px;padding:2px;background:linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity 0.5s ease;z-index:5;pointer-events:none;}.gal-item:hover {transform:translateY(-10px) scale(1.02);border-color:rgba(255, 158, 100, 0.3);box-shadow:0 20px 40px -15px rgba(255, 158, 100, 0.2), 0 0 20px rgba(0,0,0,0.8);}.gal-item:hover::before {opacity:1;background:linear-gradient(45deg, var(--accent-primary), transparent, var(--accent-info));}.gal-item-img {width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s ease;filter:brightness(0.8) grayscale(20%);}.gal-item:hover .gal-item-img {transform:scale(1.08);filter:brightness(1) grayscale(0%);}.gal-item-overlay {position:absolute;inset:0;background:linear-gradient(to top, rgba(10,10,15,0.95) 0%, rgba(10,10,15,0.4) 50%, transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:30px 24px;opacity:0;backdrop-filter:blur(2px);transition:all 0.4s ease;}.gal-item:hover .gal-item-overlay {opacity:1;backdrop-filter:blur(0px); }.gal-item-category {color:var(--accent-primary);font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:700;transform:translateY(20px);opacity:0;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;text-shadow:0 0 10px rgba(255, 158, 100, 0.5);margin-bottom:8px;}.gal-item-title {color:#fff;font-weight:800;font-size:22px;line-height:1.2;margin-bottom:12px;transform:translateY(20px);opacity:0;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.15s;}.gal-item-action {display:inline-block;color:#fff;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transform:translateY(20px);opacity:0;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;display:flex;align-items:center;gap:8px;}.gal-item-action svg {transition:transform 0.3s ease;}.gal-item:hover .gal-item-category,.gal-item:hover .gal-item-title,.gal-item:hover .gal-item-action {transform:translateY(0);opacity:1;}.gal-item:hover .gal-item-action svg {transform:translateX(5px);}.gal-lightbox {position:absolute;inset:0;background:rgba(5, 5, 10, 0.98);backdrop-filter:blur(20px);z-index:100;display:none;flex-direction:column;animation:fadeIn 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);}.gal-lightbox.active {display:flex;}.gal-lightbox-toolbar {height:60px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-6);border-bottom:1px solid rgba(255,255,255,0.05);}.gal-lightbox-close {color:var(--text-secondary);font-size:28px;cursor:pointer;transition:all 0.3s ease;background:rgba(255,255,255,0.05);padding:8px;border-radius:50%;}.gal-lightbox-close:hover {color:#fff;background:var(--accent-danger);transform:rotate(90deg);}.gal-lightbox-content {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);position:relative;overflow-y:auto;}.gal-lightbox-img {max-width:85%;max-height:55vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 60px rgba(0,0,0,0.8), 0 0 0 1px rgba(255,255,255,0.1);margin-bottom:40px;animation:scaleUp 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);}@keyframes scaleUp {0% { transform:scale(0.95); opacity:0; }100% { transform:scale(1); opacity:1; }}.gal-lightbox-info {position:relative;width:90%;max-width:700px;background:rgba(255,255,255,0.02);padding:30px;border-radius:12px;border:1px solid rgba(255,255,255,0.05);text-align:left;}.gal-lightbox-title {color:#fff;font-size:28px;font-weight:800;margin-bottom:16px;letter-spacing:-0.5px;}.gal-lightbox-desc {color:var(--text-secondary);font-size:15px;line-height:1.6;}.gal-lightbox-nav {position:absolute;top:40%;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all 0.3s ease;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(5px);}.gal-lightbox-nav:hover {background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1);box-shadow:0 0 20px rgba(255, 158, 100, 0.4);}.gal-lightbox-prev {left:30px;}.gal-lightbox-next {right:30px;}