.projectsPage-module__zSsWyq__container{min-height:100vh;padding:2rem;position:relative}body{overflow-x:hidden}html.dark body:before{content:"";z-index:-1;background:radial-gradient(circle at 20%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 80% 80%,#9333ea26 0%,#0000 50%),radial-gradient(circle at 40% 20%,#10b9811a 0%,#0000 50%),linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);width:200%;height:200%;animation:15s infinite projectsPage-module__zSsWyq__gradientShift;position:fixed;top:-50%;left:-50%}html.light body:before{content:"";z-index:-1;background:radial-gradient(circle at 20%,#3b82f614 0%,#0000 50%),radial-gradient(circle at 80% 80%,#9333ea14 0%,#0000 50%),radial-gradient(circle at 40% 20%,#10b9810f 0%,#0000 50%),linear-gradient(135deg,#f8fafc 0%,#e2e8f0 50%,#f1f5f9 100%);width:200%;height:200%;animation:15s infinite projectsPage-module__zSsWyq__gradientShift;position:fixed;top:-50%;left:-50%}.projectsPage-module__zSsWyq__backButton{font-size:1rem;font-family:var(--font-black-han-sans),sans-serif;cursor:pointer;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.projectsPage-module__zSsWyq__backButton:before{content:"";opacity:0;border-radius:.75rem;transition:opacity .3s;position:absolute;inset:0}.projectsPage-module__zSsWyq__backButton:hover:before{opacity:1}.projectsPage-module__zSsWyq__backButton:hover{transform:translate(-6px)}.projectsPage-module__zSsWyq__backButton:active{transform:translate(-6px)scale(.98)}.projectsPage-module__zSsWyq__backButton svg{font-size:1.3rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.projectsPage-module__zSsWyq__backButton:hover svg{transform:translate(-2px)}html.dark .projectsPage-module__zSsWyq__backButton{color:#ffffffd9}html.dark .projectsPage-module__zSsWyq__backButton:before{background:#60a5fa1a}html.dark .projectsPage-module__zSsWyq__backButton:hover{color:#60a5fa}html.light .projectsPage-module__zSsWyq__backButton{color:#1e293bd9}html.light .projectsPage-module__zSsWyq__backButton:before{background:#3b82f614}html.light .projectsPage-module__zSsWyq__backButton:hover{color:#3b82f6}html.dark .projectsPage-module__zSsWyq__container:before{content:"";z-index:-1;background:radial-gradient(circle at 20%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 80% 80%,#9333ea26 0%,#0000 50%),radial-gradient(circle at 40% 20%,#10b9811a 0%,#0000 50%),linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);width:200%;height:200%;animation:15s infinite projectsPage-module__zSsWyq__gradientShift;position:fixed;top:-50%;left:-50%}html.light .projectsPage-module__zSsWyq__container:before{content:"";z-index:-1;background:radial-gradient(circle at 20%,#3b82f614 0%,#0000 50%),radial-gradient(circle at 80% 80%,#9333ea14 0%,#0000 50%),radial-gradient(circle at 40% 20%,#10b9810f 0%,#0000 50%),linear-gradient(135deg,#f8fafc 0%,#e2e8f0 50%,#f1f5f9 100%);width:200%;height:200%;animation:15s infinite projectsPage-module__zSsWyq__gradientShift;position:fixed;top:-50%;left:-50%}@keyframes projectsPage-module__zSsWyq__gradientShift{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(5%,5%)rotate(2deg)}50%{transform:translate(-3%,3%)rotate(-1deg)}75%{transform:translate(3%,-5%)rotate(1deg)}}.projectsPage-module__zSsWyq__content{grid-template-columns:320px 1fr;gap:2.5rem;max-width:1600px;margin:0 auto;padding-top:2rem;display:grid}.projectsPage-module__zSsWyq__sidebar{align-self:flex-start;height:fit-content;position:sticky;top:1rem}.projectsPage-module__zSsWyq__sidebar canvas{filter:drop-shadow(0 4px 12px #00000026)!important}html.light .projectsPage-module__zSsWyq__sidebar canvas{filter:drop-shadow(0 4px 12px #00000014)!important}.projectsPage-module__zSsWyq__sidebarContent{padding:2rem}.projectsPage-module__zSsWyq__pageTitle{font-family:var(--font-black-han-sans),sans-serif;text-shadow:none;margin:0 0 .5rem;font-size:2.5rem;font-weight:400}html.dark .projectsPage-module__zSsWyq__pageTitle{background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 50%,#ddd6fe 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}html.light .projectsPage-module__zSsWyq__pageTitle{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.projectsPage-module__zSsWyq__projectCount{opacity:.7;font-size:.9rem;font-family:var(--font-geist-sans),sans-serif;color:#1f2937;margin:0 0 2rem}.dark .projectsPage-module__zSsWyq__projectCount{color:#ffffffb3}.projectsPage-module__zSsWyq__searchSection,.projectsPage-module__zSsWyq__filterSection,.projectsPage-module__zSsWyq__sortSection{margin-bottom:2rem}.projectsPage-module__zSsWyq__sectionLabel{font-size:.85rem;font-weight:600;font-family:var(--font-black-han-sans),sans-serif;color:#3b82f6;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.projectsPage-module__zSsWyq__sectionLabel svg{font-size:1.1rem}.projectsPage-module__zSsWyq__searchBox{align-items:center;display:flex;position:relative}.projectsPage-module__zSsWyq__searchInput{width:100%;font-size:.9rem;font-family:var(--font-black-han-sans),sans-serif;border:1px solid;border-radius:.75rem;padding:.75rem 1rem;transition:all .2s}html.dark .projectsPage-module__zSsWyq__searchInput{color:#ffffffe6;background:#3b82f60d;border-color:#3b82f633}html.light .projectsPage-module__zSsWyq__searchInput{color:#000000e6;background:#3b82f60d;border-color:#3b82f633}.projectsPage-module__zSsWyq__searchInput:focus{border-color:#3b82f680;outline:none;box-shadow:0 0 0 3px #3b82f61a}.projectsPage-module__zSsWyq__searchInput::placeholder{color:#3b82f680}.projectsPage-module__zSsWyq__clearButton{cursor:pointer;color:#3b82f6;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex;position:absolute;right:.5rem}.projectsPage-module__zSsWyq__clearButton:hover{background:#3b82f61a}.projectsPage-module__zSsWyq__filterButtons{flex-direction:column;gap:.5rem;display:flex}.projectsPage-module__zSsWyq__filterButton{font-size:.9rem;font-family:var(--font-black-han-sans),sans-serif;cursor:pointer;text-align:left;border:1px solid;border-radius:.75rem;padding:.75rem 1rem;transition:all .2s}html.dark .projectsPage-module__zSsWyq__filterButton{color:#ffffffb3;background:#3b82f60d;border-color:#3b82f633}html.light .projectsPage-module__zSsWyq__filterButton{color:#000000b3;background:#3b82f60d;border-color:#3b82f633}.projectsPage-module__zSsWyq__filterButton:hover{background:#3b82f61a;border-color:#3b82f666}.projectsPage-module__zSsWyq__filterButtonActive{font-weight:600;color:#3b82f6!important;background:linear-gradient(135deg,#3b82f633 0%,#2563eb33 100%)!important;border-color:#3b82f680!important}.projectsPage-module__zSsWyq__sortButtons{flex-direction:column;gap:.5rem;display:flex}.projectsPage-module__zSsWyq__sortButton{font-size:.9rem;font-family:var(--font-black-han-sans),sans-serif;cursor:pointer;border:1px solid;border-radius:.75rem;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}html.dark .projectsPage-module__zSsWyq__sortButton{color:#ffffffb3;background:#3b82f60d;border-color:#3b82f633}html.light .projectsPage-module__zSsWyq__sortButton{color:#000000b3;background:#3b82f60d;border-color:#3b82f633}.projectsPage-module__zSsWyq__sortButton svg{color:#3b82f6;font-size:1.2rem}.projectsPage-module__zSsWyq__sortButton:hover{background:#3b82f61a;border-color:#3b82f666}.projectsPage-module__zSsWyq__sortButtonActive{font-weight:600;color:#3b82f6!important;background:linear-gradient(135deg,#3b82f633 0%,#2563eb33 100%)!important;border-color:#3b82f680!important}.projectsPage-module__zSsWyq__main{min-height:80vh}.projectsPage-module__zSsWyq__projectGrid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;display:grid}.projectsPage-module__zSsWyq__loading,.projectsPage-module__zSsWyq__noResults{min-height:60vh;font-family:var(--font-black-han-sans),sans-serif;opacity:.6;flex-direction:column;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.projectsPage-module__zSsWyq__spinner{border:4px solid #3b82f633;border-top-color:#3b82f6;border-radius:50%;width:50px;height:50px;margin-bottom:1rem;animation:1s linear infinite projectsPage-module__zSsWyq__spin}@keyframes projectsPage-module__zSsWyq__spin{to{transform:rotate(360deg)}}@media (max-width:1024px){.projectsPage-module__zSsWyq__content{grid-template-columns:1fr;gap:2rem}.projectsPage-module__zSsWyq__sidebar{position:static}.projectsPage-module__zSsWyq__projectGrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.projectsPage-module__zSsWyq__container{padding:1.5rem 1rem}.projectsPage-module__zSsWyq__content{gap:1.5rem;padding-top:1rem}.projectsPage-module__zSsWyq__sidebarContent{padding:1.5rem}.projectsPage-module__zSsWyq__pageTitle{font-size:2rem}.projectsPage-module__zSsWyq__projectGrid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width:480px){.projectsPage-module__zSsWyq__container{padding:1rem .75rem}.projectsPage-module__zSsWyq__sidebarContent{padding:1.25rem}.projectsPage-module__zSsWyq__pageTitle{font-size:1.75rem}.projectsPage-module__zSsWyq__projectGrid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
