#loading-screen[data-v-1a313f3f]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a0a0f;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease-out}.loader-container[data-v-1a313f3f]{display:flex;flex-direction:column;align-items:center;gap:20px}.pixel-loader[data-v-1a313f3f]{width:64px;height:64px;background-color:transparent;position:relative}.pixel-loader[data-v-1a313f3f]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2300d4ff' d='M12 2h4v4h-4zM18 4h4v4h-4zM20 10h4v4h-4zM18 16h4v4h-4zM12 18h4v4h-4zM6 16h4v4h-4zM0 10h4v4H0zM2 4h4v4H2z'/%3E%3C/svg%3E");animation:spin-1a313f3f 1s steps(8) infinite}.loading-text[data-v-1a313f3f]{color:#00d4ff;font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.2rem;letter-spacing:2px;animation:pulse-1a313f3f 1.5s ease-in-out infinite;text-shadow:0 0 10px rgba(0,212,255,.5)}@keyframes spin-1a313f3f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-1a313f3f{0%,to{opacity:1}50%{opacity:.5}}.loader-track[data-v-1a313f3f]{width:200px;position:relative;display:flex;flex-direction:column;gap:10px}.pixel-cat-container[data-v-1a313f3f]{width:40px;height:40px;position:absolute;bottom:6px;left:0;transform:translate(-50%) scaleX(-1) scale(1.4);transform-origin:bottom center;z-index:10;animation:cat-move-1a313f3f 2s ease-in-out forwards;display:flex;align-items:flex-end;justify-content:center}.pixel-cat[data-v-1a313f3f]{width:2px;height:2px;background:transparent;--c-o: #eb8d30;--c-d: #8b4513;--c-l: #eb8d30;--c-b: #222222;animation:cat-run-1a313f3f .4s infinite steps(2);box-shadow:-2px -14px 0 0 var(--c-d),4px -14px 0 0 var(--c-d),-2px -12px 0 0 var(--c-o),0 -12px 0 0 var(--c-o),2px -12px 0 0 var(--c-o),4px -12px 0 0 var(--c-o),-4px -10px 0 0 var(--c-o),-2px -10px 0 0 var(--c-b),0 -10px 0 0 var(--c-o),2px -10px 0 0 var(--c-o),4px -10px 0 0 var(--c-b),6px -10px 0 0 var(--c-o),-4px -8px 0 0 var(--c-o),-2px -8px 0 0 var(--c-o),0 -8px 0 0 var(--c-b),2px -8px 0 0 var(--c-o),4px -8px 0 0 var(--c-o),6px -8px 0 0 var(--c-o),-2px -6px 0 0 var(--c-o),0 -6px 0 0 var(--c-o),2px -6px 0 0 var(--c-o),4px -6px 0 0 var(--c-o),6px -6px 0 0 var(--c-o),8px -6px 0 0 var(--c-o),10px -6px 0 0 var(--c-o),12px -6px 0 0 var(--c-d),14px -8px 0 0 var(--c-d),0 -4px 0 0 var(--c-o),2px -4px 0 0 var(--c-o),4px -4px 0 0 var(--c-o),6px -4px 0 0 var(--c-o),8px -4px 0 0 var(--c-o),10px -4px 0 0 var(--c-o),12px -4px 0 0 var(--c-o),14px -6px 0 0 var(--c-o),14px -10px 0 0 var(--c-o),0 -2px 0 0 var(--c-o),2px -2px 0 0 var(--c-l),4px -2px 0 0 var(--c-l),6px -2px 0 0 var(--c-l),8px -2px 0 0 var(--c-o),10px -2px 0 0 var(--c-o),12px -2px 0 0 var(--c-o),14px -12px 0 0 var(--c-d),0 0 0 0 var(--c-d),2px 0 0 0 var(--c-d),10px 0 0 0 var(--c-d),12px 0 0 0 var(--c-d)}@keyframes cat-move-1a313f3f{0%{left:0%}30%{left:40%}60%{left:70%}80%{left:85%}to{left:100%}}@keyframes cat-run-1a313f3f{0%{box-shadow:-2px -14px 0 0 var(--c-d),4px -14px 0 0 var(--c-d),-2px -12px 0 0 var(--c-o),0 -12px 0 0 var(--c-o),2px -12px 0 0 var(--c-o),4px -12px 0 0 var(--c-o),-4px -10px 0 0 var(--c-o),-2px -10px 0 0 var(--c-b),0 -10px 0 0 var(--c-o),2px -10px 0 0 var(--c-o),4px -10px 0 0 var(--c-b),6px -10px 0 0 var(--c-o),-4px -8px 0 0 var(--c-o),-2px -8px 0 0 var(--c-o),0 -8px 0 0 var(--c-b),2px -8px 0 0 var(--c-o),4px -8px 0 0 var(--c-o),6px -8px 0 0 var(--c-o),-2px -6px 0 0 var(--c-o),0 -6px 0 0 var(--c-o),2px -6px 0 0 var(--c-o),4px -6px 0 0 var(--c-o),6px -6px 0 0 var(--c-o),8px -6px 0 0 var(--c-o),10px -6px 0 0 var(--c-o),12px -6px 0 0 var(--c-d),14px -8px 0 0 var(--c-d),0 -4px 0 0 var(--c-o),2px -4px 0 0 var(--c-o),4px -4px 0 0 var(--c-o),6px -4px 0 0 var(--c-o),8px -4px 0 0 var(--c-o),10px -4px 0 0 var(--c-o),12px -4px 0 0 var(--c-o),14px -6px 0 0 var(--c-o),14px -10px 0 0 var(--c-o),0 -2px 0 0 var(--c-o),2px -2px 0 0 var(--c-l),4px -2px 0 0 var(--c-l),6px -2px 0 0 var(--c-l),8px -2px 0 0 var(--c-o),10px -2px 0 0 var(--c-o),12px -2px 0 0 var(--c-o),14px -12px 0 0 var(--c-d),0 0 0 0 var(--c-d),2px 0 0 0 var(--c-d),10px 0 0 0 var(--c-d),12px 0 0 0 var(--c-d)}50%{transform:translateY(-2px);box-shadow:-2px -14px 0 0 var(--c-d),4px -14px 0 0 var(--c-d),-2px -12px 0 0 var(--c-o),0 -12px 0 0 var(--c-o),2px -12px 0 0 var(--c-o),4px -12px 0 0 var(--c-o),-4px -10px 0 0 var(--c-o),-2px -10px 0 0 var(--c-b),0 -10px 0 0 var(--c-o),2px -10px 0 0 var(--c-o),4px -10px 0 0 var(--c-b),6px -10px 0 0 var(--c-o),-4px -8px 0 0 var(--c-o),-2px -8px 0 0 var(--c-o),0 -8px 0 0 var(--c-b),2px -8px 0 0 var(--c-o),4px -8px 0 0 var(--c-o),6px -8px 0 0 var(--c-o),-2px -6px 0 0 var(--c-o),0 -6px 0 0 var(--c-o),2px -6px 0 0 var(--c-o),4px -6px 0 0 var(--c-o),6px -6px 0 0 var(--c-o),8px -6px 0 0 var(--c-o),10px -6px 0 0 var(--c-o),12px -6px 0 0 var(--c-d),14px -8px 0 0 var(--c-d),0 -4px 0 0 var(--c-o),2px -4px 0 0 var(--c-o),4px -4px 0 0 var(--c-o),6px -4px 0 0 var(--c-o),8px -4px 0 0 var(--c-o),10px -4px 0 0 var(--c-o),12px -4px 0 0 var(--c-o),14px -6px 0 0 var(--c-o),14px -10px 0 0 var(--c-o),0 -2px 0 0 var(--c-o),2px -2px 0 0 var(--c-l),4px -2px 0 0 var(--c-l),6px -2px 0 0 var(--c-l),8px -2px 0 0 var(--c-o),10px -2px 0 0 var(--c-o),12px -2px 0 0 var(--c-o),14px -12px 0 0 var(--c-d),2px 0 0 0 var(--c-d),4px 0 0 0 var(--c-d),8px 0 0 0 var(--c-d),10px 0 0 0 var(--c-d)}}.glitch-wrapper[data-v-1a313f3f]{position:relative}.glitch[data-v-1a313f3f]{font-size:1.5rem;font-weight:700;color:var(--primary-color);letter-spacing:2px;position:relative;font-family:"Press Start 2P",Courier New,monospace;text-transform:uppercase;line-height:1.5;display:inline-block;text-shadow:0 0 10px rgba(0,212,255,.5)}.loading-cursor[data-v-1a313f3f]{animation:blink-1a313f3f .5s infinite;margin-left:2px}@keyframes blink-1a313f3f{0%,to{opacity:1}50%{opacity:0}}.glitch[data-v-1a313f3f]:before,.glitch[data-v-1a313f3f]:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch[data-v-1a313f3f]:before{left:2px;text-shadow:-1px 0 #00d4ff;clip:rect(44px,450px,56px,0);animation:glitch-anim-1a313f3f 5s infinite linear alternate-reverse}.glitch[data-v-1a313f3f]:after{left:-2px;text-shadow:-1px 0 #00a8cc;clip:rect(44px,450px,56px,0);animation:glitch-anim2-1a313f3f 5s infinite linear alternate-reverse}@keyframes glitch-anim-1a313f3f{0%{clip:rect(42px,9999px,44px,0)}10%{clip:rect(12px,9999px,60px,0)}20%{clip:rect(66px,9999px,89px,0)}30%{clip:rect(20px,9999px,85px,0)}40%{clip:rect(91px,9999px,43px,0)}50%{clip:rect(65px,9999px,17px,0)}60%{clip:rect(25px,9999px,61px,0)}70%{clip:rect(77px,9999px,83px,0)}80%{clip:rect(34px,9999px,29px,0)}90%{clip:rect(80px,9999px,66px,0)}to{clip:rect(51px,9999px,48px,0)}}@keyframes glitch-anim2-1a313f3f{0%{clip:rect(65px,9999px,100px,0)}10%{clip:rect(30px,9999px,35px,0)}20%{clip:rect(90px,9999px,55px,0)}30%{clip:rect(10px,9999px,78px,0)}40%{clip:rect(45px,9999px,23px,0)}50%{clip:rect(70px,9999px,95px,0)}60%{clip:rect(15px,9999px,40px,0)}70%{clip:rect(55px,9999px,75px,0)}80%{clip:rect(25px,9999px,60px,0)}90%{clip:rect(82px,9999px,33px,0)}to{clip:rect(48px,9999px,92px,0)}}.progress-bar-container[data-v-1a313f3f]{width:100%;height:4px;background-color:#00d4ff1a;border-radius:2px;overflow:hidden;position:relative;border:1px solid rgba(0,212,255,.2)}.progress-bar[data-v-1a313f3f]{height:100%;background:linear-gradient(90deg,#00d4ff,#00a8cc);width:0%;animation:progress-fill-1a313f3f 2s ease-in-out forwards;box-shadow:0 0 15px #00d4ff99,0 0 30px #00d4ff4d}@keyframes progress-fill-1a313f3f{0%{width:0%}30%{width:40%}60%{width:70%}80%{width:85%}to{width:100%}}.projects-container[data-v-1a313f3f]{max-width:900px;margin:0 auto;padding:2rem 1rem}.page-subtitle[data-v-1a313f3f]{font-size:1.2rem;color:var(--text-color-secondary)}.filter-section[data-v-1a313f3f]{margin-bottom:2rem}.tags-filter[data-v-1a313f3f]{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem 1rem}.filter-tag[data-v-1a313f3f]{background:#00142866;border:1px solid rgba(0,212,255,.2);color:var(--text-color);padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.filter-tag[data-v-1a313f3f]:hover{border-color:#00d4ff99;color:var(--primary-color);box-shadow:0 0 10px #00d4ff33}.filter-tag.active[data-v-1a313f3f]{background-color:#00d4ff26;color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 15px #00d4ff4d,inset 0 0 10px #00d4ff1a}.projects-grid[data-v-1a313f3f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card[data-v-1a313f3f]{background-color:#00142899;border-radius:12px;overflow:hidden;box-shadow:0 0 10px #00d4ff1a;transition:all .3s ease;display:flex;flex-direction:column;height:100%;animation:fadeIn-1a313f3f .5s ease-out forwards;text-decoration:none;color:var(--text-color);cursor:pointer;border:1px solid rgba(0,212,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.project-card[data-v-1a313f3f]:hover{transform:translateY(-5px);box-shadow:0 0 25px #00d4ff33,0 10px 40px #0000004d;border-color:#00d4ff66}.project-image[data-v-1a313f3f]{width:100%;min-height:120px;overflow:hidden;background-color:#00142866;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,212,255,.15)}.project-image img[data-v-1a313f3f]{width:100%;height:auto;display:block;transition:transform .5s}.project-image-placeholder[data-v-1a313f3f]{width:100%;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#0014284d;border-bottom:1px solid rgba(0,212,255,.15)}.project-icon[data-v-1a313f3f]{font-size:2.5rem;margin-bottom:.5rem;color:var(--primary-color);text-shadow:0 0 15px rgba(0,212,255,.4)}.project-type[data-v-1a313f3f]{font-size:.9rem;color:var(--primary-color);font-weight:500;opacity:.8}.project-card:hover .project-image img[data-v-1a313f3f]{transform:scale(1.05)}.project-content[data-v-1a313f3f]{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.project-title[data-v-1a313f3f]{font-size:1.4rem;margin:0 0 1rem;color:var(--primary-color);overflow-wrap:anywhere;word-break:break-word;line-height:1.4;text-shadow:0 0 10px rgba(0,212,255,.3)}.project-description[data-v-1a313f3f]{margin-bottom:1.5rem;flex-grow:1;line-height:1.6}.project-tech[data-v-1a313f3f]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag[data-v-1a313f3f]{background-color:#00d4ff14;color:var(--primary-color);padding:.2rem .6rem;border-radius:4px;font-size:.8rem;border:1px solid rgba(0,212,255,.2)}@keyframes fadeIn-1a313f3f{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.github-info[data-v-1a313f3f]{display:flex;justify-content:center;align-items:center;margin-top:1.5rem;gap:1rem}.github-link[data-v-1a313f3f],.refresh-btn[data-v-1a313f3f]{display:flex;align-items:center;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:all .3s;cursor:pointer;height:40px;box-sizing:border-box;min-width:120px;justify-content:center}.github-link[data-v-1a313f3f]{color:var(--primary-color);border:1px solid rgba(0,212,255,.4)}.github-link[data-v-1a313f3f]:hover{background-color:#00d4ff26;color:var(--primary-color);box-shadow:0 0 15px #00d4ff4d}.github-icon[data-v-1a313f3f]{margin-right:.5rem;font-size:1.2rem}.refresh-btn[data-v-1a313f3f]{background-color:#00142899;border:1px solid rgba(0,212,255,.2);color:var(--text-color);transition:all .3s ease}.refresh-btn[data-v-1a313f3f]:hover:not(.disabled){border-color:#00d4ff99;color:var(--primary-color);box-shadow:0 0 15px #00d4ff33}.refresh-btn.disabled[data-v-1a313f3f]{opacity:.5;cursor:not-allowed}.github-link i[data-v-1a313f3f],.refresh-btn span[data-v-1a313f3f]{margin-right:.5rem}.loading-container[data-v-1a313f3f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-spinner[data-v-1a313f3f]{font-size:2rem;color:var(--primary-color);margin-bottom:1rem;text-align:center}.error-container[data-v-1a313f3f]{background-color:#ff32321a;color:#f66;padding:1.5rem;border-radius:8px;text-align:center;margin-bottom:2rem;border:1px solid rgba(255,50,50,.3)}.no-projects[data-v-1a313f3f]{text-align:center;padding:3rem;background-color:#00142899;border-radius:12px;margin-bottom:2rem;border:1px solid rgba(0,212,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.suggestion[data-v-1a313f3f]{font-style:italic;color:var(--text-color-secondary);margin-top:1rem}@media (max-width: 768px){.projects-grid[data-v-1a313f3f]{grid-template-columns:1fr}.tags-filter[data-v-1a313f3f]{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:.5rem 0;gap:.8rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tags-filter[data-v-1a313f3f]::-webkit-scrollbar{display:none}.filter-tag[data-v-1a313f3f]{flex-shrink:0;white-space:nowrap;min-width:auto;padding:.6rem 1.2rem;font-size:.9rem}.github-info[data-v-1a313f3f]{flex-direction:column}}
