@font-face{font-family:"Sora";src:url(./fonts/Sora-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Sora";src:url(./fonts/Sora-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html{user-select:none;cursor:url(/icons/cursor.webp) 0 0,auto}body{display:flex;justify-content:center;font-family:"Sora",sans-serif;gap:20px;margin-top:50px;background-color:ivory}#preloader{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:ivory;z-index:9999;display:flex;justify-content:center;align-items:center;transition:opacity 0.6s ease,visibility 0.6s}.spinner{width:32px;height:32px;border:3px solid #ccc;border-top-color:#333;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}.floating-icon{position:fixed;width:24px;height:24px;animation:floatUp 0.6s ease-out forwards;pointer-events:none;z-index:9999}@keyframes floatUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}h1{font-size:clamp(1.5rem, 3vw, 2rem);font-weight:600}h3{font-size:clamp(1rem, 2.5vw, 1.4rem);font-weight:400;line-height:1.4}.main-content{width:650px}.experience-section,.project-section{display:flex;flex-direction:column;gap:15px;max-width:800px;margin:auto}.section-header{margin-left:24px}.card{position:relative;background-color:#fff;border-radius:16px;padding:24px;box-shadow:5px 4px 20px rgb(0 0 0 / .3);transition:all 0.3s ease;will-change:transform}.card.reveal{animation:fadeInUp 0.6s ease}.card:last-child{margin-bottom:15px}.card:hover{transform:scale(1.01);box-shadow:0 6px 24px rgb(0 0 0 / .4)}.card:hover .card-title img{filter:brightness(0) saturate(100%) invert(24%) sepia(94%) saturate(6114%) hue-rotate(357deg) brightness(96%) contrast(107%);transform:scale(1.2)}.card-title{font-size:clamp(1.1rem, 2.5vw, 1.3rem);text-align:left;font-weight:600;margin-bottom:5px}.card-title img{float:inline-end;transition:transform 0.3s ease-in-out}.card-header{display:flex;justify-content:space-between;align-items:left}.card-subheader{display:flex;gap:5px;align-items:center;font-size:clamp(0.85rem, 1.8vw, 1rem);flex-wrap:wrap;color:#888;margin-bottom:6px}.card-description{margin-top:6px;font-size:clamp(0.9rem, 2vw, 1rem);line-height:1.6}.tags{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:start;gap:8px}.tag{display:flex;gap:5px;background-color:#e6f0ff;color:#264d73;padding:5px 12px;border-radius:999px;font-size:clamp(0.7rem, 1.5vw, 0.85rem);font-weight:500}.sidebar{position:sticky;align-self:flex-start;min-width:400px;top:50px}.social-icons{display:flex;gap:12px}.social-icons span{transition:all 0.2s ease;will-change:transform}.social-icons span:hover{transform:scale(1.15)}.social-icons span:first-child{padding-left:0}.fixed-corner{position:fixed;display:flex;bottom:20px;left:20px;gap:12px}.flag{width:40px}#custom-context-menu{position:fixed;background-color:#fff;border-radius:16px;padding:12px;box-shadow:0 4px 20px rgb(0 0 0 / .06);margin:0;max-width:400px;z-index:10001;transition:all 0.3s ease-in-out}.hidden{display:none}.anime{position:absolute;top:0;left:-60px;width:60px;z-index:10;pointer-events:none}.ryu{position:absolute;top:0;left:-40px;width:35px;z-index:10;pointer-events:none}.parallax-layer{position:fixed;top:0;left:0;width:125%;height:125%;background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none;z-index:-1;transition:all 0.05s linear}.footer-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:20px 0;font-size:.85rem;color:#555;gap:8px}.footer-tech,.footer-credits{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}.footer-section img{height:20px;transition:all 0.2s ease}.animated-icon{position:fixed;top:50%;left:50%;width:640px;height:auto;z-index:10001;opacity:0;transform:translate(-50%,-50%) scale(.2);animation:zoomCenterFade 1s ease-out forwards;pointer-events:none}@keyframes zoomCenterFade{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}.footer-section img:hover{transform:scale(1.2);opacity:1}.footer-credits img[alt="flaticon"]{filter:invert(1);opacity:.9}.layer{opacity:.4;background-repeat:no-repeat;background-position:center;background-size:contain;transition:background-image 0.6s ease-in-out,opacity 0.4s}@media (max-width:768px){body{flex-direction:column;align-items:center;gap:40px;margin-top:20px}.sidebar{align-self:center}.main-content{width:100%}.experience-section,.project-section{padding:0 16px;max-width:100%}.section-header{margin-left:0;text-align:center;font-size:1.25rem}.card{padding:16px;border-radius:12px;margin:0 auto;width:100%}.card-header{flex-direction:column}.tags{justify-content:center}.anime,.ryu{display:none}.social-icons{justify-content:center;margin-top:12px;flex-wrap:wrap}.flag{width:30px}.fixed-corner{bottom:10px;left:10px;gap:8px}.footer-section{flex-direction:column;align-items:center;gap:12px;padding:16px 0}.footer-tech,.footer-credits{justify-content:center}}@media (hover:none){.card:hover{transform:none;box-shadow:5px 4px 20px rgb(0 0 0 / .3)}.card:hover .card-title img{transform:none;filter:none}}@media (max-width:1024px){body{gap:30px;flex-direction:column;align-items:center;margin-top:30px}.sidebar{position:relative;top:0;width:90%;text-align:center}.experience-section,.project-section{padding:0 20px;max-width:100%}.card{width:100%;padding:20px;border-radius:14px}.card-title{font-size:clamp(1.1rem, 2.2vw, 1.4rem)}.card-subheader{font-size:clamp(0.85rem, 1.5vw, 1rem)}.card-description{font-size:clamp(0.9rem, 1.8vw, 1.05rem)}.anime,.ryu{width:40px;left:-40px}.social-icons{justify-content:center;flex-wrap:wrap;gap:10px;margin-top:12px}.fixed-corner{bottom:15px;left:15px;gap:10px}.flag{width:35px}.footer-section{padding:18px 0;gap:10px;flex-wrap:wrap}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}