:root{--card-border-radius:20px;--card-padding:20px;--card-title-font-size:20px;--card-title-font-weight:700;--card-title-color:#fff;--card-text-font-size:14px;--card-text-color:#a0a0a0;--glow-color:#ffc10766}.row{margin:0!important;padding:0!important}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:capitalize;border:1px solid #ffffff14;flex-direction:column;height:100%;margin:0;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000080;border-radius:var(--card-border-radius)!important;background:#1e1e28!important}.card:before{content:"";opacity:0;z-index:3;background:linear-gradient(90deg,#0000,#ffc10799,#0000);height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.card:hover:before{opacity:1}.card .img-container{border-radius:var(--card-border-radius);margin:10px;position:relative;overflow:hidden}.card .project-image-link{display:block}.card .img-container:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#0000004d 100%);transition:opacity .4s;position:absolute;inset:0}.card:hover .img-container:after{opacity:1}.card .card-img-top{object-fit:cover;filter:brightness();width:100%;height:220px;transition:transform .6s cubic-bezier(.175,.885,.32,1.275),filter .4s}.card:hover{transform:translateY(-12px)scale(1.02);box-shadow:0 20px 40px #0006}.card:hover .card-img-top{filter:brightness(1.1);transform:scale(1.1)}.card .card-body{padding:var(--card-padding);z-index:2;flex-direction:column;flex:1;gap:12px;display:flex;position:relative}.card .card-title{font-size:var(--card-title-font-size);font-weight:var(--card-title-font-weight);color:var(--card-title-color);text-align:start;align-items:center;gap:8px;margin:0;transition:color .3s,transform .3s;display:flex}.card .card-title .project-title-link{color:inherit;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.card:hover .card-title{color:var(--warning-color);transform:translate(5px)}[dir=rtl] .card:hover .card-title{transform:translate(-5px)}.card .card-title .title-arrow{color:var(--warning-color);font-size:14px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.card:hover .card-title .title-arrow{animation:1s ease-in-out infinite arrowPulse;transform:translate(8px)scale(1.2)}[dir=rtl] .card:hover .card-title .title-arrow{transform:translate(-8px)scale(1.2)}@keyframes arrowPulse{0%,to{opacity:1}50%{opacity:.5}}.card .card-description{font-size:var(--card-text-font-size);color:var(--card-text-color);flex:1;margin:0;line-height:1.5;transition:color .3s}.card:hover .card-description{color:silver}.tech-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tech-tag{color:#e0e0e0;background-color:#ffffff1a;border:1px solid #ffffff26;border-radius:20px;padding:4px 12px;font-size:12px;transition:all .3s,transform .3s cubic-bezier(.175,.885,.32,1.275)}.tech-tag:hover{border-color:var(--warning-color);color:var(--warning-color);background-color:#ffc10733;transform:translateY(-3px)scale(1.05)}.card:hover .tech-tag{animation:.5s forwards tagFloat}.card:hover .tech-tag:first-child{animation-delay:50ms}.card:hover .tech-tag:nth-child(2){animation-delay:.1s}.card:hover .tech-tag:nth-child(3){animation-delay:.15s}.card:hover .tech-tag:nth-child(4){animation-delay:.2s}@keyframes tagFloat{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.tech-tag-more{background-color:var(--warning-color);color:#1a1a1a;border:none;font-weight:600}.tech-tag-more:hover{color:#1a1a1a;background-color:#ffca2c;box-shadow:0 0 15px #ffc10780}.demo-button{border:2px solid var(--warning-color);width:100%;color:var(--warning-color);z-index:1;background:0 0;border-radius:25px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden}.demo-button:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000,#ffc10733,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.demo-button:hover:before{left:100%}.demo-button:hover{background-color:var(--warning-color);color:#1a1a1a;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 25px #ffc10766}.demo-button:active{transform:translateY(-1px)scale(.98)}.demo-button .demo-icon{font-size:18px;transition:transform .3s}.demo-button:hover .demo-icon{transform:rotate(360deg)scale(1.2)}.projects{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;padding:20px;display:grid}@media (max-width:992px){.projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.projects{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:10px}.card .card-img-top{height:180px}.card .card-title{font-size:18px}.card:hover{transform:translateY(-8px)scale(1.01)}}@media (max-width:546px){.projects{grid-template-columns:1fr}.card .card-body{padding:15px}.demo-button{padding:10px 16px;font-size:14px}}
