.references-hero{background:linear-gradient(135deg,hsl(var(--primary)/.05) 0,hsl(var(--background)) 50%,hsl(var(--secondary)/.05) 100%)}.references-hero-title{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.8),hsl(var(--secondary)));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradient-shift 3s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.project-card{position:relative;overflow:hidden;border-radius:.75rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);transform-origin:center;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsl(var(--primary)/.1) 0,transparent 50%,hsl(var(--secondary)/.1) 100%);opacity:0;transition:opacity .25s ease;z-index:1;pointer-events:none}.project-card:hover:before{opacity:1}.project-card:hover{transform:translateY(-6px) translateZ(0);box-shadow:0 20px 40px -12px hsl(var(--primary)/.2),0 0 0 1px hsl(var(--primary)/.1)}.project-card-image{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translateZ(0)}.project-card:hover .project-card-image{transform:scale(1.05) translateZ(0)}.project-card .image-error{background:linear-gradient(135deg,hsl(var(--muted)) 0,hsl(var(--muted)/.5) 100%)}.project-card .image-error:after{content:"📷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;opacity:.5}.project-card-overlay{background:linear-gradient(0deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.4) 30%,rgba(0,0,0,.2) 60%,transparent);opacity:0;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-card-overlay{opacity:1}.project-card-actions{transform:translateY(8px);opacity:0;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-card-actions{transform:translateY(0);opacity:1}.project-action-btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease;position:relative;overflow:hidden;transform:translateZ(0)}.project-action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease}.project-action-btn:hover:before{width:100px;height:100px}.project-action-btn:active{transform:scale(.96) translateZ(0)}.project-badge{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsl(var(--primary)/.2);box-shadow:0 4px 6px -1px hsl(var(--primary)/.1);transition:transform .15s ease,box-shadow .15s ease}.project-badge:hover{transform:translateY(-1px);box-shadow:0 6px 8px -1px hsl(var(--primary)/.15)}.star-rating{display:flex;gap:.125rem}.star-rating .star{transition:transform .15s ease;transform-origin:center}.star-rating:hover .star{transform:scale(1.08)}.star-rating .star.filled{color:#fbbf24;filter:drop-shadow(0 1px 2px rgba(251,191,36,.3))}.project-list-item{transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s ease,box-shadow .25s cubic-bezier(.4,0,.2,1);border:1px solid hsl(var(--border)/.5);transform:translateZ(0)}.project-list-item:hover{border-color:hsl(var(--primary)/.3);box-shadow:0 10px 25px -5px hsl(var(--primary)/.1),0 0 0 1px hsl(var(--primary)/.05);transform:translateX(3px) translateZ(0)}.filters-section{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border)/.5);box-shadow:0 1px 3px 0 hsl(var(--foreground)/.1)}.filter-tab,.filter-tabs{position:relative}.filter-tab{transition:all .2s ease;border-radius:.375rem}.filter-tab[data-state=active]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 2px 4px hsl(var(--primary)/.3)}.filter-tab[data-state=active]:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:6px;height:6px;background:hsl(var(--primary));border-radius:50%}.view-toggle{background:hsl(var(--muted));border-radius:.5rem;padding:.25rem;box-shadow:inset 0 1px 2px hsl(var(--foreground)/.1)}.view-toggle-btn{transition:all .2s ease;border-radius:.25rem}.view-toggle-btn[data-active=true]{background:hsl(var(--background));box-shadow:0 1px 3px hsl(var(--foreground)/.1);transform:scale(1.05)}.search-input{transition:all .2s ease;border:1px solid hsl(var(--border))}.search-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2),0 1px 3px hsl(var(--foreground)/.1)}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted)/.5) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.project-modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modal-appear .25s cubic-bezier(.4,0,.2,1)}@keyframes modal-appear{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.project-modal-content{max-height:90vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsl(var(--muted)) transparent;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.project-modal-content::-webkit-scrollbar{width:6px}.project-modal-content::-webkit-scrollbar-track{background:transparent}.project-modal-content::-webkit-scrollbar-thumb{border-radius:3px}.project-modal-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.fullscreen-viewer{background:rgba(0,0,0,.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:viewer-appear .2s ease}@keyframes viewer-appear{0%{opacity:0}to{opacity:1}}.viewer-controls{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:.5rem;transition:background-color .2s ease}.viewer-controls:hover{background:rgba(0,0,0,.7)}.viewer-nav-btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease;border-radius:50%;will-change:transform;transform:translateZ(0)}.viewer-nav-btn:hover{background:rgba(0,0,0,.8);transform:scale(1.08) translateZ(0)}.viewer-nav-btn:active{transform:scale(.96) translateZ(0)}.zoom-controls{display:flex;gap:.25rem;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:.5rem;padding:.25rem}.zoom-btn{padding:.5rem;color:#fff;background:transparent;border:none;border-radius:.25rem;transition:transform .15s ease,background-color .15s ease;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transform:translateZ(0)}.zoom-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease}.zoom-btn:hover:before{width:40px;height:40px}.zoom-btn:hover:not(:disabled){background:hsla(0,0%,100%,.2);transform:scale(1.05) translateZ(0)}.zoom-btn:disabled{opacity:.5;cursor:not-allowed}.zoom-btn:disabled:hover{transform:translateZ(0);background:transparent}.pagination-dots{display:flex;gap:.5rem;align-items:center;justify-content:center}.pagination-dot{width:.75rem;height:.75rem;border-radius:50%;background:hsla(0,0%,100%,.5);border:none;cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease;position:relative;overflow:hidden;transform:translateZ(0)}.pagination-dot:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease}.pagination-dot:hover:before{width:20px;height:20px}.pagination-dot.active{background:#fff;transform:scale(1.2) translateZ(0);box-shadow:0 0 8px hsla(0,0%,100%,.5)}.pagination-dot:hover:not(.active){background:hsla(0,0%,100%,.75);transform:scale(1.08) translateZ(0)}.viewer-info{background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:.5rem;padding:1rem;max-width:70%;animation:slide-up .25s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.viewer-counter{animation:slide-up .25s ease}.viewer-counter,.zoom-indicator{background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#fff}.zoom-indicator{animation:zoom-appear .25s ease}@keyframes zoom-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cta-section{background:linear-gradient(135deg,hsl(var(--primary)/.05) 0,hsl(var(--secondary)/.05) 100%);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,hsl(var(--primary)/.1) 0,transparent 50%);pointer-events:none}.touch-gesture-hint{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.image-pannable{cursor:grab}.image-pannable:active{cursor:grabbing}.image-zoomed{cursor:move}.error-state{color:hsl(var(--destructive));background:hsl(var(--destructive)/.1);border:1px solid hsl(var(--destructive)/.2);border-radius:.5rem;padding:1rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.success-state{color:hsl(var(--success,142 76% 36%));background:hsl(var(--success,142 76% 36%)/.1);border:1px solid hsl(var(--success,142 76% 36%)/.2);border-radius:.5rem;padding:1rem;animation:bounce-in .4s ease}@keyframes bounce-in{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}@media (max-width:640px){.project-card{margin-bottom:1rem}.project-card:hover{transform:translateY(-3px) translateZ(0)}.project-card:hover .project-card-image{transform:scale(1.03) translateZ(0)}.filter-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.filter-tabs::-webkit-scrollbar{display:none}.references-filter-section{position:relative;z-index:40}.references-filter-container{gap:1rem}.references-filter-container,.references-search-tabs-wrapper{display:flex;flex-direction:column;width:100%;position:relative}.references-search-tabs-wrapper{gap:.75rem;z-index:1}.references-search-wrapper{width:100%;position:relative}.references-search-wrapper input{width:100%}.references-category-tabs{width:100%;position:relative}.references-tabs-list{width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.25rem!important;position:relative}.references-tabs-list button{font-size:.75rem!important;padding:.5rem .25rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative}.references-category-tabs [role=tablist]{width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.25rem!important}.references-category-tabs [role=tab]{font-size:.75rem!important;padding:.5rem .25rem!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}.references-view-controls{width:100%;justify-content:space-between;margin-top:.5rem;position:relative;z-index:2;display:flex;flex-direction:row;align-items:center}.viewer-controls{padding:.5rem}.viewer-nav-btn{padding:.75rem}.viewer-nav-btn,.zoom-btn{min-width:48px;min-height:48px}.zoom-btn{padding:.5rem}.pagination-dot{width:.625rem;height:.625rem;padding:.5rem;margin:-.5rem}.viewer-info{max-width:90%;padding:.75rem}.zoom-indicator{padding:.375rem .5rem;font-size:.75rem}.project-card{width:100%;max-width:100%}.references-filter-section .container{padding-left:1rem;padding-right:1rem}}@media (max-width:480px){.project-card:hover{transform:translateY(-2px) translateZ(0)}.project-card:hover .project-card-image{transform:scale(1.02) translateZ(0)}.viewer-nav-btn{padding:.5rem}.viewer-nav-btn,.zoom-btn{min-width:44px;min-height:44px}.zoom-btn{padding:.375rem}.pagination-dot{width:.5rem;height:.5rem}}@media (min-width:641px) and (max-width:1024px){.project-card{width:100%}.project-card:hover{transform:translateY(-4px) translateZ(0)}}@media (prefers-color-scheme:dark){.project-card{border-color:hsl(var(--border)/.3)}.project-card:hover{border-color:hsl(var(--primary)/.4);box-shadow:0 20px 40px -12px hsl(var(--primary)/.25),0 0 0 1px hsl(var(--primary)/.2)}.filters-section{border-bottom-color:hsl(var(--border)/.3);box-shadow:0 1px 3px 0 hsl(var(--foreground)/.05)}.viewer-nav-btn{background:hsla(0,0%,100%,.1);color:#fff}.viewer-nav-btn:hover{background:hsla(0,0%,100%,.2)}}@media (prefers-contrast:high){.project-badge,.project-card{border-width:2px}.filter-tab[data-state=active]{border:2px solid hsl(var(--primary))}.pagination-dot,.viewer-nav-btn,.zoom-btn{border:2px solid hsla(0,0%,100%,.5)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.project-card:hover{transform:none}.skeleton{animation:none;background:hsl(var(--muted))}}@media print{.filters-section,.pagination-dots,.project-card-actions,.viewer-controls,.viewer-nav-btn,.zoom-btn,.zoom-controls{display:none!important}.project-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none;border:1px solid #ccc}.project-card:hover{transform:none}.fullscreen-viewer{display:none!important}}.filter-tab:focus-visible,.pagination-dot:focus-visible,.project-action-btn:focus-visible,.project-card:focus-visible,.view-toggle-btn:focus-visible,.viewer-nav-btn:focus-visible,.zoom-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.loading-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4) 50%,transparent);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.pagination-dot,.project-action-btn,.project-card,.viewer-nav-btn,.zoom-btn{transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;contain:layout style paint}.fullscreen-viewer img,.project-card img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.project-modal-content::-webkit-scrollbar{width:8px}.project-modal-content::-webkit-scrollbar-track{background:hsl(var(--muted)/.3);border-radius:4px}.project-modal-content::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:4px;border:1px solid hsl(var(--background))}.project-modal-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.7)}@media (max-width:640px){[class*=grid]{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}.project-card{width:100%;margin-left:auto;margin-right:auto}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}