@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap");.preloader{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a2e 25%,#251b3b 50%,#351450 75%,#590281);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;font-family:JetBrains Mono,monospace;color:#6a1194;animation:fadeIn .5s ease-in-out;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.matrix-rain{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;opacity:.1;z-index:1}.matrix-column{position:absolute;top:-100%;width:20px;animation:matrixFall linear infinite}.matrix-char{display:block;color:#4d197e;font-size:14px;line-height:1.2;text-shadow:0 0 5px rgba(89,18,129,.8)}@keyframes matrixFall{0%{transform:translateY(-100vh)}to{transform:translateY(100vh)}}.terminal-window{background:rgba(0,0,0,.9);border:1px solid #333;border-radius:8px;width:90%;max-width:600px;box-shadow:0 0 30px rgba(0,255,65,.2);backdrop-filter:blur(10px);z-index:10;position:relative}.terminal-header{background:#2d2d2d;padding:10px 15px;border-radius:8px 8px 0 0;display:flex;align-items:center;border-bottom:1px solid #333}.terminal-controls{display:flex;gap:8px;margin-right:15px}.control-dot{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}.control-dot.red{background:#ff5f57}.control-dot.yellow{background:#ffbd2e}.control-dot.green{background:#28ca42}.terminal-title{color:#8b949e;font-size:12px;font-weight:500}.terminal-body{padding:20px;min-height:200px;background:rgba(0,0,0,.8);border-radius:0 0 8px 8px}.terminal-line{margin-bottom:8px;font-size:14px;display:flex;align-items:center;opacity:0;animation:terminalTypewriter .5s ease-out forwards}.terminal-line.loading{color:#2c00a7}.terminal-line.success{color:#9d57f8}.terminal-line.error{color:#5f0f8d}.terminal-line.info{color:#a5a5a5}@keyframes terminalTypewriter{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.prompt{color:#6200ff;margin-right:8px;font-weight:700}.command{flex:1}.cursor{background:#8e01b1;color:#000;animation:cursorBlink 1s infinite;margin-left:5px;padding:0 2px}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-progress{margin-top:20px;padding-top:15px;border-top:1px solid #333}.progress-label{color:#c14af0;font-size:12px;margin-bottom:8px;text-shadow:0 0 5px rgba(162,0,255,.5)}.progress-container{width:100%;height:4px;background:rgba(255,255,255,.1);overflow:hidden}.progress-container,.progress-fill{border-radius:2px;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#360453,#4b0772,#d400ff);transition:width .3s ease;box-shadow:0 0 10px rgba(78,5,128,.822)}.progress-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressGlow 1.5s ease-in-out infinite}@keyframes progressGlow{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.particles-container{position:absolute;width:100%;height:100%;overflow:hidden;z-index:2}.particle{position:absolute;width:2px;height:2px;background:#4400ff;border-radius:50%;animation:particleFloat linear infinite;box-shadow:0 0 6px rgba(174,0,255,.8)}@keyframes particleFloat{0%{transform:translateY(100vh) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-10vh) translateX(50px);opacity:0}}.scan-lines{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.03) 0,rgba(0,255,65,.03) 4px);animation:scanlineMove .1s linear infinite;z-index:5;pointer-events:none}@keyframes scanlineMove{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05);visibility:hidden}}.preloader.fade-out{animation:fadeOut .8s ease-in-out forwards}@media (max-width:768px){.terminal-window{width:95%;margin:0 10px}.terminal-body{padding:15px}.matrix-char,.terminal-line{font-size:12px}}@media (max-width:480px){.terminal-line{font-size:11px}.terminal-body{padding:12px}}.bento-container,.bento-description,.bento-point-more,.bento-point-text,.bento-title,.tech-pill{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace}.bento-title{letter-spacing:-.02em}.tech-pill{letter-spacing:-.01em}.bento-container{position:relative;width:100%;padding:0;overflow:visible}.bento-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:1.5rem;width:100%;margin:0 auto}@media (max-width:1024px){.bento-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:1.25rem}}@media (max-width:768px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:1rem}}@media (max-width:480px){.bento-grid{grid-template-columns:1fr;grid-auto-rows:minmax(220px,auto);gap:1rem}}.bento-card{border-radius:20px;cursor:pointer;perspective:1000px;height:100%;min-height:220px;display:block}.bento-card,.bento-image-container{position:relative;overflow:hidden;width:100%}.bento-image-container{height:50%;min-height:100px;border-radius:12px;margin-bottom:.5rem;flex-shrink:0}.bento-card-large .bento-image-container{height:50%;min-height:110px;margin-bottom:.75rem}.bento-card-wide .bento-image-container{height:50%;min-height:100px;margin-bottom:.5rem}.bento-card-tall .bento-image-container{height:50%;min-height:110px;margin-bottom:.5rem}.bento-large-image{height:50%!important;min-height:110px!important;margin-bottom:.75rem!important}.bento-card[style*="gridRow: span 2"][style*="gridColumn: span 2"] .bento-image-container,.bento-card[style*="span 2"][style*="row-span: span 2"] .bento-image-container{height:50%;min-height:110px}@media (max-width:1024px){.bento-card-large .bento-image-container,.bento-card[style*="gridRow: span 2"][style*="gridColumn: span 2"] .bento-image-container,.bento-card[style*="span 2"][style*="row-span: span 2"] .bento-image-container{height:50%;min-height:100px}.bento-large-image{height:50%!important;min-height:100px!important}}@media (max-width:768px){.bento-card-large .bento-image-container,.bento-card[style*="gridRow: span 2"][style*="gridColumn: span 2"] .bento-image-container,.bento-card[style*="span 2"][style*="row-span: span 2"] .bento-image-container{height:50%;min-height:100px}.bento-large-image{height:50%!important;min-height:100px!important}}.bento-glass-bg{position:absolute;inset:0;border-radius:20px;background:rgba(15,23,42,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(71,85,105,.4)}.glass-layer-1,.glass-layer-2,.glass-layer-3{position:absolute;inset:0;border-radius:20px;pointer-events:none}.glass-layer-1{background:linear-gradient(135deg,rgba(139,92,246,.15),transparent 50%)}.glass-layer-2{background:linear-gradient(225deg,rgba(59,130,246,.12),transparent 50%)}.glass-layer-3{background:linear-gradient(45deg,transparent 30%,rgba(139,92,246,.15) 50%,transparent 70%);opacity:0;transition:opacity .3s ease}.bento-card:hover .glass-layer-3{opacity:1;animation:shimmer 2s ease-in-out infinite}.holographic-overlay{position:absolute;inset:0;border-radius:20px;background:linear-gradient(45deg,transparent 30%,rgba(139,92,246,.1) 50%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.bento-card:hover .holographic-overlay{opacity:1;animation:holographicShift 3s ease-in-out infinite}.bento-border-gradient{position:absolute;inset:-1px;border-radius:21px;background:linear-gradient(45deg,#8b5cf6,#06b6d4,#3b82f6,#8b5cf6);background-size:300% 300%;opacity:0;transition:opacity .3s ease;pointer-events:none}.bento-card:hover .bento-border-gradient{opacity:.6;animation:gradientShift 4s ease infinite}.bento-content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;padding:.75rem;border-radius:20px;background:rgba(15,23,42,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:all .3s ease}.bento-card:hover .bento-content{background:rgba(17,24,39,.95);transform:translateZ(10px)}.bento-title{order:1;font-size:.9rem;font-weight:700;color:#e2e8f0;margin:0 0 .2rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .bento-title{color:#f8fafc}.bento-description{order:2;font-size:.75rem;color:#94a3b8;line-height:1.3;margin:.2rem 0 .4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500;opacity:1;visibility:visible}.dark .bento-description{color:#e5e7eb}.bento-card .bento-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:1;visibility:visible}.bento-points{order:3;margin:.2rem 0 .4rem;display:flex;flex-direction:column;gap:.2rem;flex:0;opacity:.9}.bento-point-item{display:flex;align-items:flex-start;gap:.25rem}.bento-point-bullet{width:3px;height:3px;border-radius:50%;background:#a78bfa;margin-top:.3rem;flex-shrink:0}.dark .bento-point-bullet{background:#a78bfa}.bento-point-text{font-size:.65rem;line-height:1.2;color:#94a3b8;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.dark .bento-point-text{color:#9ca3af}.bento-point-more{font-size:.65rem;color:#a78bfa;font-weight:500;margin-top:.15rem;opacity:.7;font-style:italic}.dark .bento-point-more{color:#a78bfa}.bento-text-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.bento-card[style*="span 2"] .bento-description{font-size:.8rem;line-height:1.4;-webkit-line-clamp:2;margin-bottom:1rem}.bento-card[style*="span 2"] .bento-point-text{font-size:.7rem;line-height:1.3}.tech-pills{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:auto;padding-top:.5rem}.tech-pill{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(59,130,246,.1));color:#7c3aed;padding:.2rem .4rem;border-radius:8px;font-size:.65rem;font-weight:600;border:1px solid rgba(139,92,246,.2);box-shadow:0 2px 4px rgba(139,92,246,.1);backdrop-filter:blur(10px);white-space:nowrap;transition:all .3s ease;position:relative;overflow:hidden}.tech-pill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.tech-pill:hover:before{left:100%}.tech-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.2);border-color:rgba(139,92,246,.4)}.dark .tech-pill{background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(59,130,246,.15));color:#c4b5fd;border-color:rgba(139,92,246,.3);box-shadow:0 2px 4px rgba(139,92,246,.2)}.dark .tech-pill:hover{box-shadow:0 4px 12px rgba(139,92,246,.3);border-color:rgba(139,92,246,.5)}.tech-pill-icon{font-size:.75rem;opacity:.8;filter:drop-shadow(0 1px 2px rgba(139,92,246,.3))}.tech-pill-more{display:inline-flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,rgba(107,114,128,.2),rgba(75,85,99,.15));color:#9ca3af;padding:.375rem .75rem;border-radius:12px;font-size:.7rem;font-weight:600;border:1px solid rgba(107,114,128,.3);box-shadow:0 2px 4px rgba(107,114,128,.2);backdrop-filter:blur(10px);white-space:nowrap;transition:all .3s ease;position:relative;overflow:hidden}.tech-pill-more:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.tech-pill-more:hover:before{left:100%}.tech-pill-more:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(107,114,128,.2);border-color:rgba(107,114,128,.4)}.dark .tech-pill-more{background:linear-gradient(135deg,rgba(107,114,128,.2),rgba(75,85,99,.15));color:#9ca3af;border-color:rgba(107,114,128,.3);box-shadow:0 2px 4px rgba(107,114,128,.2)}.dark .tech-pill-more:hover{box-shadow:0 4px 12px rgba(107,114,128,.3);border-color:rgba(107,114,128,.5)}.bento-card[style*="span 2"] .tech-pill{padding:.5rem 1rem;font-size:.8rem;border-radius:14px}.bento-card[style*="span 2"] .tech-pill-icon{font-size:.85rem}.bento-card[style*="span 2"] .tech-pill-more{padding:.5rem 1rem;font-size:.75rem;border-radius:14px}@media (max-width:768px){.tech-pills{gap:.375rem}.tech-pill{padding:.25rem .5rem;font-size:.7rem}.tech-pill-more{padding:.25rem .5rem;font-size:.65rem}}@keyframes shimmer{0%,to{transform:translateX(-100%) rotate(45deg)}50%{transform:translateX(100%) rotate(45deg)}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes holographicShift{0%,to{transform:translateX(-100%) rotate(45deg);opacity:0}50%{transform:translateX(100%) rotate(45deg);opacity:1}}.project-popup-container,.project-popup-container .project-title,.project-popup-container .tech-tag,.project-popup-container h1,.project-popup-container h2,.project-popup-container h3,.project-popup-container h4{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace}.project-popup-container .project-title{letter-spacing:-.03em}.project-popup-container .tech-tag{letter-spacing:-.01em}.project-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;overflow-y:auto}.project-popup-container{background:white;border-radius:16px;width:100%;max-width:1200px;max-height:95vh;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.4);margin:auto}@media (prefers-color-scheme:dark){.project-popup-container{background:#1f2937;color:white}}.popup-close-button{position:absolute;top:16px;right:16px;background:rgba(0,0,0,.7);color:white;border:none;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.popup-close-button:hover{background:rgba(0,0,0,.9);transform:scale(1.1)}.project-popup-content{display:flex;flex-direction:column}.project-image-carousel{position:relative;width:100%;height:450px;overflow:hidden;border-radius:16px 16px 0 0;background:#f3f4f6}.carousel-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.7);color:white;border:none;width:50px;height:50px;font-size:24px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:5}.carousel-nav:hover{background:rgba(0,0,0,.9);transform:translateY(-50%) scale(1.1)}.prev-button{left:16px}.next-button{right:16px}.carousel-indicators{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}.indicator{width:12px;height:12px;border-radius:50%;border:2px solid white;background:rgba(255,255,255,.5);cursor:pointer;transition:all .2s ease}.indicator.active{background:white;transform:scale(1.2)}.project-details{padding:40px;display:flex;flex-direction:column;gap:28px}.project-header{border-bottom:1px solid #e5e7eb;padding-bottom:16px}@media (prefers-color-scheme:dark){.project-header{border-bottom-color:#374151}}.project-title{font-size:36px;margin-bottom:8px;color:#1f2937;line-height:1.2}@media (prefers-color-scheme:dark){.project-title{color:white}}.project-metadata{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;flex-wrap:wrap}@media (prefers-color-scheme:dark){.project-metadata{color:#9ca3af}}.metadata-separator{color:#d1d5db}.featured-badge{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:white;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.project-description h3,.project-points h3,.project-summary h3,.project-technologies h3{font-size:18px;font-weight:600;margin-bottom:12px;color:#374151}@media (prefers-color-scheme:dark){.project-description h3,.project-points h3,.project-summary h3,.project-technologies h3{color:#e5e7eb}}.project-description p,.project-summary p{line-height:1.7;color:#4b5563;font-size:16px}@media (prefers-color-scheme:dark){.project-description p,.project-summary p{color:#d1d5db}}.project-points ul{list-style:none;padding:0;margin:0}.project-points li{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.6;color:#4b5563}@media (prefers-color-scheme:dark){.project-points li{color:#d1d5db}}.project-points li:before{content:"•";position:absolute;left:0;color:#8b5cf6;font-weight:700;font-size:18px}.tech-grid{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;border:1px solid #e5e7eb;transition:all .2s ease}.tech-tag:hover{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,92,246,.3)}@media (prefers-color-scheme:dark){.tech-tag{background:linear-gradient(135deg,#374151,#4b5563);color:#e5e7eb;border-color:#4b5563}}.project-actions{display:flex;gap:16px;padding-top:16px;border-top:1px solid #e5e7eb;flex-wrap:wrap}@media (prefers-color-scheme:dark){.project-actions{border-top-color:#374151}}.action-button{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;transition:all .2s ease;text-decoration:none;border:none;cursor:pointer}.action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.button-icon{width:18px;height:18px}.project-card{transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.15)}@media (prefers-color-scheme:dark){.project-card:hover{box-shadow:0 8px 25px rgba(0,0,0,.4)}}@media (max-width:768px){.project-popup-overlay{padding:16px}.project-popup-container{max-width:95vw;max-height:90vh}.project-image-carousel{height:280px}.project-details{padding:28px 20px;gap:20px}.project-title{font-size:28px}.carousel-nav{width:40px;height:40px;font-size:20px}.prev-button{left:12px}.next-button{right:12px}.project-actions{flex-direction:column}.action-button{justify-content:center}}@media (max-width:480px){.project-popup-overlay{padding:12px}.project-popup-container{max-width:98vw;max-height:92vh}.project-details{padding:24px 16px}.project-title{font-size:24px}.project-metadata{font-size:12px}}#projects,#projects .section-subtitle,#projects .section-title,#projects h1,#projects h2,#projects h3,#projects h4{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace}#projects .project-category-badge,#projects .project-filters button,#projects .project-tech-tag,#projects .project-title{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace;letter-spacing:-.02em}.project-card{height:100%;border-radius:16px;overflow:hidden;background:rgba(17,24,39,.8);backdrop-filter:blur(10px);border:1px solid rgba(75,85,99,.4);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;box-shadow:0 4px 12px rgba(0,0,0,.1)}.project-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.2);border-color:rgba(139,92,246,.4)}.project-thumbnail{position:relative;aspect-ratio:1/1;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-category-badge{position:absolute;top:.5rem;right:.5rem;background:rgba(139,92,246,.8);backdrop-filter:blur(4px);color:white;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;z-index:10}.project-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.4),transparent);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem;z-index:5}.project-card:hover .project-overlay{opacity:1}.project-overlay-content{color:white;transform:translateY(20px);transition:transform .3s ease;opacity:0}.project-card:hover .project-overlay-content{transform:translateY(0);opacity:1;transition-delay:.1s}.project-overlay-title{font-weight:700;font-size:1.125rem;margin-bottom:.25rem}.project-overlay-summary{font-size:.875rem;color:#e5e7eb}.project-content{padding:1rem;display:flex;flex-direction:column;flex-grow:1}.project-title{font-weight:700;font-size:1.125rem;color:#e2e8f0;margin-bottom:.5rem}.project-summary{font-size:.875rem;color:#94a3b8;margin-bottom:1rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tech-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:.25rem}.project-tech-tag{background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(99,102,241,.15));color:#c4b5fd;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;transition:all .2s ease}.project-tech-tag:hover{background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(99,102,241,.25));transform:translateY(-2px)}.project-tech-more{font-size:.75rem;color:#9ca3af;padding:.25rem .5rem}@media (max-width:768px){.project-card{max-width:100%}.project-overlay-title{font-size:1rem}.project-overlay-summary{font-size:.75rem}.project-title{font-size:1rem}.project-summary{font-size:.8125rem;-webkit-line-clamp:2;margin-bottom:.75rem}.project-tech-tag{padding:.2rem .4rem;font-size:.6875rem}.project-filters button{padding:.5rem .75rem;font-size:.8125rem}.project-category-filters{gap:.375rem}.project-search-input{height:2.5rem;margin-top:.75rem}.project-modal-carousel{height:250px}.project-modal-title{font-size:1.25rem}.project-modal-content p{font-size:.875rem}.project-modal-metadata{grid-template-columns:1fr;gap:.75rem}.project-modal-actions{flex-direction:column;gap:.75rem}}.project-filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;justify-content:space-between}@media (min-width:768px){.project-filters{flex-direction:row;align-items:center}}.project-category-filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}@media (min-width:768px){.project-category-filters{justify-content:flex-start}}.project-search{position:relative;width:100%}@media (min-width:768px){.project-search{width:16rem}}.project-search-input{width:100%;padding:.5rem 1rem .5rem 2.5rem;border:2px solid #e5e7eb;border-radius:9999px;background:white;color:#374151;transition:all .3s ease}.project-search-input:focus{outline:none;border-color:#8b5cf6}.dark .project-search-input{border-color:#374151;background:#1f2937;color:#d1d5db}.project-search-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af}.project-modal-carousel{position:relative;overflow:hidden;border-radius:12px;height:300px}@media (min-width:768px){.project-modal-carousel{height:400px}}.project-modal-image{width:100%;height:100%;object-fit:cover}.project-modal-nav-button{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(0,0,0,.4);color:white;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.project-modal-nav-button:hover{background:rgba(0,0,0,.6)}.project-modal-nav-prev{left:.5rem}.project-modal-nav-next{right:.5rem}.project-modal-counter{position:absolute;bottom:.5rem;right:.5rem;background:rgba(0,0,0,.5);color:white;font-size:.875rem;padding:.25rem .5rem;border-radius:4px}.project-modal-metadata{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.5rem 0}@media (min-width:768px){.project-modal-metadata{grid-template-columns:1fr 1fr}}.project-modal-actions{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .project-modal-actions{border-color:#374151}.project-modal-action-button{flex:1;min-width:0}.projects-loading{display:flex;justify-content:center;align-items:center;padding:5rem 0}.projects-no-results{text-align:center;padding:4rem 0}.projects-no-results-title{font-size:1.25rem;color:#4b5563;margin-bottom:1rem}.dark .projects-no-results-title{color:#9ca3af}.dark .border-gray-300{border-color:rgba(75,85,99,.5)!important}#skills,#skills .section-subtitle,#skills .section-title,#skills h1,#skills h2,#skills h3,#skills h4{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace}#skills .certificate-title,#skills .skill-name,#skills .tech-stack-item .font-medium,#skills .tech-stack-item h3{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace;letter-spacing:-.02em}.skill-circle-container{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease}.skill-circle-container:hover{transform:scale(1.05)}.skill-circle{position:relative;width:6rem;height:6rem;margin-bottom:.75rem}@media (max-width:768px){.skill-circle{width:4.5rem;height:4.5rem;margin-bottom:.5rem}}.skill-circle-glow{position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6366f1);opacity:0;filter:blur(12px);transition:opacity .3s ease}.skill-circle-container:hover .skill-circle-glow{opacity:.3}.skill-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.skill-circle-background{fill:none;stroke:#e5e7eb;stroke-width:8}.dark .skill-circle-background{stroke:#374151}.skill-circle-progress{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.5s ease-out}.skill-circle-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#1f2937}.dark .skill-circle-icon{color:#e5e7eb}.tech-stack-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 8px rgba(0,0,0,.05);cursor:pointer;transition:all .3s ease}.dark .bg-white,.dark .tech-stack-item{background:rgba(31,41,55,.7)!important;border-color:rgba(75,85,99,.3)!important}.dark .text-gray-700,.dark .text-gray-800,.dark .text-gray-900{color:rgba(229,231,235,.9)!important}.tech-stack-item:hover{transform:scale(1.02);box-shadow:0 8px 16px rgba(139,92,246,.15)}.tech-stack-icon{flex-shrink:0;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(99,102,241,.1));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#8b5cf6;font-size:1.25rem;transition:all .3s ease}@media (max-width:768px){.tech-stack-item{padding:.5rem;gap:.5rem}.tech-stack-icon{width:2rem;height:2rem;font-size:1rem}}.tech-stack-item:hover .tech-stack-icon{background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(99,102,241,.2))}.floating-tech-icons{position:relative;height:8rem;margin-bottom:4rem;overflow:hidden}@media (max-width:768px){.floating-tech-icons{height:6rem;margin-bottom:2rem}.floating-icon{width:3rem!important;height:3rem!important;font-size:1.5rem!important}}.floating-icon{position:relative;width:4rem;height:4rem;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.1);color:#8b5cf6;font-size:1.875rem}.dark .floating-icon{background:rgba(31,41,55,.9);color:#a78bfa}.floating-icon-glow{position:absolute;inset:0;background:#8b5cf6;border-radius:50%;opacity:.2;filter:blur(12px)}.certificate-card{position:relative;height:100%;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.dark .certificate-card{background:rgba(31,41,55,.8)!important;border-color:rgba(75,85,99,.3)!important}.certificate-card:hover{transform:translateY(-8px)}.certificate-glow{position:absolute;inset:-1px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:12px;opacity:0;filter:blur(4px);transition:opacity .3s ease}.certificate-card:hover .certificate-glow{opacity:1}.certificate-content{position:relative;padding:1.5rem;background:inherit;border-radius:12px}.certificate-icon{width:3rem;height:3rem;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(99,102,241,.1));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#8b5cf6;margin-right:1rem}.dark .certificate-icon{background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(99,102,241,.2));color:#a78bfa}.skills-search-input{width:100%;padding:.5rem 1rem .5rem 2.5rem;border:1px solid #d1d5db;border-radius:9999px;background:white;color:#1f2937;transition:all .3s ease}.skills-search-input:focus{outline:none;ring:2px;ring-color:#8b5cf6;border-color:#8b5cf6}.dark .skills-search-input{border-color:#4b5563;background:#1f2937;color:white}.dark .skills-search-input::placeholder{color:#9ca3af}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}@media (max-width:768px){.skills-search-input{width:100%;margin-top:1rem}.certificate-card,.skill-circle-container{margin-bottom:1rem}button.px-6{padding-left:.75rem;padding-right:.75rem;font-size:.75rem}.flex.flex-wrap.justify-center{gap:.5rem}}#contact,#contact button,#contact h1,#contact h2,#contact h3,#contact h4,#contact input,#contact label,#contact textarea,.contact-form-wrapper,.contact-info-wrapper{font-family:JetBrains Mono,Fira Code,Roboto Mono,Courier New,monospace}#contact h3{letter-spacing:-.02em}.glass-card{position:relative;overflow:hidden;backdrop-filter:blur(10px);border-radius:16px;background:rgba(30,41,59,.8);border:1px solid rgba(71,85,105,.5);box-shadow:0 8px 32px 0 rgba(0,0,0,.25),0 4px 16px 0 rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,255,255,.1);transition:all .3s ease;color:#e2e8f0}.glass-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px 0 rgba(0,0,0,.3),0 10px 30px 0 rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.15);border-color:rgba(139,92,246,.5)}.contact-grid{display:flex;flex-direction:column;gap:2rem}@media (min-width:768px){.contact-grid{flex-direction:row}}.contact-form-wrapper{flex:2}.contact-info-wrapper{flex:1}@media (max-width:768px){.contact-grid{gap:1.5rem}.glass-card{padding:1rem}.glass-card .p-6{padding:1rem!important}.glass-card form .grid{display:flex;flex-direction:column}.glass-card form .grid .gap-4{gap:.75rem}.glass-card form .space-y-4{margin-top:.75rem}.contact-info-wrapper .w-10.h-10{width:2rem;height:2rem}.contact-info-wrapper .h-5.w-5{width:1rem;height:1rem}.contact-info-wrapper .space-y-6{margin-top:.5rem}.contact-form-wrapper h3,.contact-info-wrapper h3{font-size:1.25rem;margin-bottom:1rem}}.contact-form-animate{animation:slideInLeft .6s ease-out}.contact-info-animate{animation:slideInRight .6s ease-out .2s both}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}input,textarea{background-color:rgba(30,41,59,.7)!important;border-color:rgba(71,85,105,.5)!important;color:#e2e8f0!important}input:focus,textarea:focus{border-color:rgba(139,92,246,.6)!important;box-shadow:0 0 0 2px rgba(139,92,246,.25)!important}input::placeholder,textarea::placeholder{color:rgba(148,163,184,.8)!important}h3,h4,label{color:#e2e8f0!important}p{color:#94a3b8!important}.dark .bg-white,.dark .bg-white\/80{background-color:rgba(31,41,55,.8)!important}.dark .text-gray-700,.dark .text-gray-800,.dark .text-gray-900{color:#e5e7eb!important}.matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.7) 0,rgba(0,0,0,.9) 100%)}.cyber-bg,.matrix-bg{transition:background .5s ease-out}.cyber-bg{background:linear-gradient(135deg,rgba(0,0,0,.85),rgba(10,10,10,.9) 50%,rgba(26,10,46,.7))}.minimal-bg{background:rgba(0,0,0,.9)}.gradient-bg,.minimal-bg{transition:background .5s ease-out}.gradient-bg{background:radial-gradient(ellipse at top,rgba(0,0,0,.85) 0,rgba(10,10,10,.9) 50%,rgba(29,0,66,.7) 100%)}.scroll-10 .matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.65) 0,rgba(39,5,94,.85) 100%)}.scroll-30 .matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.6) 0,rgba(60,13,112,.8) 100%)}.scroll-50 .matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.55) 0,rgba(0,0,0,.75) 100%)}.scroll-70 .matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.5) 0,rgba(0,0,0,.7) 100%)}.scroll-90 .matrix-bg{background:radial-gradient(ellipse at center,rgba(14,0,41,.45) 0,rgba(0,0,0,.65) 100%)}.scroll-50 .cyber-bg{background:linear-gradient(135deg,rgba(0,0,0,.75),rgba(255,52,52,.8) 50%,rgba(26,10,46,.6))}.scroll-50 .gradient-bg{background:radial-gradient(ellipse at top,rgba(0,0,0,.75) 0,rgba(10,10,10,.8) 50%,rgba(29,0,66,.6) 100%)}.scan-lines:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(139,92,246,.02) 0,rgba(139,92,246,.02) 4px);opacity:.5;animation:scanlineMove .1s linear infinite;z-index:1}.scroll-50 .scan-lines:before{opacity:.4;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(139,92,246,.015) 0,rgba(139,92,246,.015) 4px)}@keyframes purpleGlow{0%,to{box-shadow:0 0 5px rgba(139,92,246,.3)}50%{box-shadow:0 0 20px rgba(139,92,246,.6),0 0 30px rgba(139,92,246,.4)}}.animate-purple-glow{animation:purpleGlow 3s ease-in-out infinite}.bg-overlay-dark{background:rgba(0,0,0,.8)}.bg-overlay-darker{background:rgba(0,0,0,.9)}.bg-overlay-darkest{background:rgba(0,0,0,.95)}.purple-reveal-light{background:linear-gradient(45deg,rgba(139,92,246,.05),rgba(168,85,247,.05))}.purple-reveal-medium{background:linear-gradient(45deg,rgba(139,92,246,.1),rgba(168,85,247,.1))}.purple-reveal-strong{background:linear-gradient(45deg,rgba(139,92,246,.2),rgba(168,85,247,.2))}.scroll-bg-lighten{transition:opacity .5s ease}.scroll-25 .scroll-bg-lighten{opacity:.9}.scroll-50 .scroll-bg-lighten{opacity:.8}.scroll-75 .scroll-bg-lighten{opacity:.7}.scroll-100 .scroll-bg-lighten{opacity:.6}.cyber-bg,.gradient-bg,.matrix-bg,.minimal-bg{will-change:background,opacity;backface-visibility:hidden}