.details-image{max-width:400px;max-height:10%;margin:20px auto;border-radius:8px;box-shadow:0 4px 6px #0000001a}.text-container{max-width:500px;margin:20px auto}.text-container p{font-size:1.2rem;line-height:1.6}.project-tags{display:flex;justify-content:center;gap:10px;margin:20px 0}.language-icon{width:40px;height:40px;object-fit:cover;border-radius:50%;border:2px solid #ddd;transition:transform .2s,border-color .2s}.language-icon:hover{transform:scale(1.1);border-color:#999}.details-button{padding:12px 20px;border:none;border-radius:25px;background:linear-gradient(135deg,#7c3aed,#4a2d9e);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s,transform .3s;text-decoration:none}.details-button:hover{background:linear-gradient(135deg,#5a29b7,#3b207a);transform:translateY(-2px);box-shadow:0 4px 6px #0003}.details-image{display:block;max-width:500px;height:auto;margin:20px auto;border-radius:8px;box-shadow:0 4px 6px #0000001a}@media (max-width: 768px){.details-image{max-width:100%;margin:10px auto}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-title{animation:fadeIn 2s ease-in-out}@font-face{font-family:Pretendard-Regular;src:url(https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff) format("woff");font-weight:400;font-style:normal}.app-container{max-width:1300px;margin:0 auto;padding:20px;font-family:Pretendard-Regular,Arial,sans-serif}.profile-section{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:40px;background:linear-gradient(135deg,#7c3aed,#4a2d9e);padding:40px;color:#fff}.profile-image{max-width:80%;width:350px;margin:20px}.profile-info{max-width:600px;padding:0 20px;font-family:Pretendard-Regular,sans-serif}.bio{font-size:1.2rem;line-height:1.8;color:#f0f0f0;margin-top:10px;font-family:Pretendard-Regular,sans-serif}.profile-info h1{font-size:3rem;font-weight:700;margin-bottom:10px}.contact-links-container{margin-top:20px;display:flex;justify-content:left;gap:20px}.contact-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:16px;font-weight:700;transition:color .3s}.contact-link svg{font-size:24px}.contact-link:hover{color:#ddd}.search-bar-container{margin:20px 0;display:flex;justify-content:center}.search-bar{padding:12px 20px;border-radius:25px;border:1px solid #ddd;width:90%;max-width:500px;font-size:16px;box-shadow:0 4px 6px #0000001a;outline:none;transition:box-shadow .3s ease,border-color .3s ease}.search-bar:focus{border-color:#7c3aed;box-shadow:0 4px 10px #7c3aed4d}.filter-buttons{margin-bottom:50px;display:flex;justify-content:center;gap:15px}.filter-button{padding:10px 20px;border:none;border-radius:20px;background-color:#f0f0f0;cursor:pointer;transition:background .3s,color .3s;font-weight:700}.filter-button:hover{background-color:#ddd}.filter-button.active{background-color:#7c3aed;color:#fff}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));row-gap:25px;column-gap:40px}.project-card{border:none;border-radius:15px;overflow:hidden;box-shadow:0 8px 20px #0000001a;background:#fff;text-align:center;transition:transform .3s,box-shadow .3s;color:#fff;text-decoration:none}.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.project-card h3{font-size:1.5rem;font-weight:700;color:#fff;background-color:#7c3aed;padding:15px 0;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.project-link{display:block;margin:15px auto;padding:10px 20px;background-color:#7c3aed;color:#fff;text-decoration:none;border-radius:10px;font-size:1rem;font-weight:700;max-width:200px;transition:background .3s}.project-image{width:80%;height:200px;object-fit:contain;margin-top:0}.country{width:70%;max-width:300px;margin:10px auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tdtd{width:100%;border-collapse:collapse;text-align:left}.tdtd thead tr{background-color:#7c3aed;color:#fff;font-size:.9rem}.tdtd thead th{padding:6px;text-align:center}.tdtd tbody tr{border-bottom:1px solid #ddd;transition:background-color .3s ease}.tdtd tbody tr:hover{background-color:#f1f1f1}.tdtd tbody td{padding:4px 6px;vertical-align:middle;text-align:center}.tdtd thead tr.loading{font-size:.8rem;text-align:center;color:#777}@media (max-width: 400px){.country{width:80%}.tdtd thead th{font-size:.8rem}.tdtd tbody td{font-size:.7rem}}.display-text-container{margin-top:10px;font-size:16px;display:flex;align-items:center;gap:10px}.copy-button{padding:5px 10px;background-color:#fff;color:#7c3aed;border:none;border-radius:4px;cursor:pointer}.display-text-container{margin-top:10px;font-size:16px;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:400px;white-space:nowrap}.display-text{flex-grow:1}.copy-button{margin-left:20px;padding:5px 15px;background-color:#fff;color:#7c3aed;border:1px solid #7C3AED;border-radius:4px;cursor:pointer;transition:background-color .3s,color .3s}.display-text-container{margin-top:10px;font-size:16px;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:400px;white-space:nowrap;overflow:hidden;box-sizing:border-box}.display-text-container{margin-top:10px;font-size:16px;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:400px;height:40px;white-space:nowrap;overflow:hidden;box-sizing:border-box}.display-text{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{flex-shrink:0;margin-left:20px;padding:5px 15px;background-color:#fff;color:#7c3aed;border:1px solid #7C3AED;border-radius:4px;cursor:pointer;transition:background-color .3s,color .3s}.copy-button:hover{background-color:#7c3aed;color:#fff}.sort-dropdown{padding:10px 15px;border:1px solid #ddd;border-radius:20px;background-color:#f0f0f0;font-size:16px;font-weight:700;color:#333;cursor:pointer;transition:background .3s,color .3s,border-color .3s;outline:none}.sort-dropdown:hover{background-color:#ddd}.sort-dropdown:focus{border-color:#7c3aed;background-color:#fff}.sort-dropdown option{font-size:16px;padding:10px;background-color:#fff;color:#333}.scroll-button{padding:10px 20px;font-size:1rem;font-weight:700;background-color:#fff;color:#7c3aed;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s,transform .3s}.scroll-button:hover{background-color:#5a29b7;color:#fff}@media (max-width: 768px){.profile-section{position:relative;padding-bottom:60px}.scroll-button{bottom:20px;width:calc(100% - 40px);max-width:300px}}
