.button[data-v-1a4c4ed2]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;border:none;outline:none;gap:.5rem}.button--full-width[data-v-1a4c4ed2]{width:100%}.button--primary[data-v-1a4c4ed2]{background-color:var(--tag-bg);color:#fff}.button--primary[data-v-1a4c4ed2]:hover{background-color:var(--tag-bg);opacity:.9;transform:translateY(-2px)}.button--secondary[data-v-1a4c4ed2]{background-color:var(--secondary-color);color:var(--text-color)}.button--secondary[data-v-1a4c4ed2]:hover{background-color:var(--secondary-hover);transform:translateY(-2px)}.button--outline[data-v-1a4c4ed2]{background-color:transparent;border:2px solid var(--tag-bg);color:var(--tag-bg)}.button--outline[data-v-1a4c4ed2]:hover{background-color:var(--tag-bg);color:#fff;transform:translateY(-2px)}.button--text[data-v-1a4c4ed2]{background-color:transparent;color:var(--text-color);padding:.5rem}.button--text[data-v-1a4c4ed2]:hover{color:var(--tag-bg)}.button__icon[data-v-1a4c4ed2]{font-size:1.1rem}@media (max-width: 768px){.button[data-v-1a4c4ed2]{padding:.625rem 1.25rem;font-size:.95rem}}@media (max-width: 480px){.button[data-v-1a4c4ed2]{padding:.5rem 1rem;font-size:.9rem}}:root{--primary-color: #4CAF50;--primary-hover: #45a049;--secondary-color: #f0f0f0;--secondary-hover: #e0e0e0;--text-color: #333;--bg-color: #fff;--card-bg: #fff;--hover-bg: #f5f5f5;--nav-bg: #fff;--nav-text: #333;--nav-hover: #4CAF50;--transition-speed: .3s;--border-color: #e2e8f0;--tag-bg: #42b983}.dark{--bg-color: #1a1a1a;--text-color: #e2e8f0;--nav-bg: #1a1a1a;--card-bg: #2d2d2d;--border-color: #404040;--hover-bg: #2d2d2d;--tag-bg: var(--primary-color);--primary-color: #42b983}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:var(--text-color);background-color:var(--bg-color);min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--nav-bg);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav-brand{font-size:1.5rem;font-weight:700}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{text-decoration:none;color:var(--text-color);font-weight:500;transition:color .3s ease}.nav-links a.router-link-active{color:#42b983}.theme-toggle{padding:.5rem;border-radius:50%;transition:background-color .3s ease}.theme-toggle:hover{background-color:var(--hover-bg)}@media (max-width: 1024px){.navbar{padding:1rem 1.5rem}.nav-links{gap:1.5rem}}@media (max-width: 768px){.navbar{padding:1rem}.nav-brand{font-size:1.3rem}.nav-links{gap:1rem}.nav-links a{font-size:.95rem}.theme-toggle{font-size:1.1rem;padding:.4rem}}@media (max-width: 480px){.navbar{padding:.75rem}.nav-brand{font-size:1.2rem}.nav-links{gap:.75rem}.nav-links a{font-size:.9rem}.theme-toggle{font-size:1rem;padding:.3rem}}main{padding:2rem;max-width:1200px;margin:0 auto;min-height:calc(100vh - 4rem);box-sizing:border-box}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.home[data-v-82771845]{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;background:var(--bg-color)}.hero[data-v-82771845]{text-align:center;padding:2rem;max-width:800px;margin:0 auto}h1[data-v-82771845]{font-size:3.5rem;margin-bottom:.5rem;color:var(--text-color);font-weight:700}.role[data-v-82771845]{font-size:1.8rem;color:var(--tag-bg);margin-bottom:1.5rem;font-weight:500}.introduction[data-v-82771845]{font-size:1.2rem;line-height:1.6;color:var(--text-color);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons[data-v-82771845]{display:flex;gap:1rem;justify-content:center}.btn[data-v-82771845]{padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.primary[data-v-82771845]{background-color:var(--tag-bg);color:#fff}.secondary[data-v-82771845]{background-color:var(--hover-bg);color:var(--text-color)}.btn[data-v-82771845]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}@media (max-width: 768px){h1[data-v-82771845]{font-size:2.5rem}.role[data-v-82771845]{font-size:1.5rem}.introduction[data-v-82771845]{font-size:1.1rem;padding:0 1rem}.cta-buttons[data-v-82771845]{flex-direction:column;gap:.5rem}}.tag[data-v-cd937cac]{color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;transition:all .3s ease;box-shadow:0 3px 6px #00000026;display:inline-block;position:relative;overflow:hidden;margin-right:.5rem;margin-bottom:.5rem}.skill-tag[data-v-cd937cac]{background-color:var(--tag-bg)!important}.project-tag[data-v-cd937cac]{background-color:var(--project-tag-bg)!important}.tag[data-v-cd937cac]:hover{transform:translateY(-3px);box-shadow:0 5px 8px #0003}.tag[data-v-cd937cac]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transition:transform .3s ease}.tag[data-v-cd937cac]:hover:after{transform:translate(100%)}@media (max-width: 768px){.tag[data-v-cd937cac]{padding:.4rem .8rem;font-size:.85rem;border-radius:20px}}@media (max-width: 480px){.tag[data-v-cd937cac]{padding:.35rem .7rem;font-size:.8rem;border-radius:18px}}.section-title[data-v-a6201d09]{font-size:2rem;margin-bottom:2rem;color:var(--text-color);position:relative;display:inline-block}.section-title[data-v-a6201d09]:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:3px;background:var(--primary-color);border-radius:2px}@media (max-width: 768px){.section-title[data-v-a6201d09]{font-size:1.8rem;margin-bottom:1.5rem}}@media (max-width: 480px){.section-title[data-v-a6201d09]{font-size:1.6rem;margin-bottom:1.25rem}}.about[data-v-690674ea]{padding:2rem;max-width:1200px;margin:0 auto}.about-content[data-v-690674ea]{display:flex;flex-direction:column;gap:3rem}.about-text[data-v-690674ea]{max-width:800px;margin:0 auto}.main-title[data-v-690674ea]{font-size:2.5rem;margin-bottom:2rem;color:var(--text-color);position:relative;display:inline-block}.main-title[data-v-690674ea]:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:3px;background:var(--tag-bg);border-radius:2px}.subtitle[data-v-690674ea]{font-size:1.2rem;color:var(--text-color);margin-bottom:1rem}.description[data-v-690674ea]{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:1.5rem}.read-more[data-v-690674ea]{margin-top:1rem}.full-bio[data-v-690674ea]{margin-top:1.5rem}.full-bio p[data-v-690674ea]{font-size:1.1rem;line-height:1.8;color:var(--text-color);white-space:pre-line}.section-title[data-v-690674ea]{font-size:1.8rem;color:var(--text-color);margin-bottom:1.5rem}.skills-grid[data-v-690674ea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.skill-category[data-v-690674ea]{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 10px 20px #0000001a,0 6px 6px #0000001a,0 0 0 1px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translate(-50px);position:relative}.skill-category[data-v-690674ea]:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(to bottom,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:1;border-radius:12px}.dark .skill-category[data-v-690674ea]:before{background:linear-gradient(to bottom,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 100%)}.skill-category.visible[data-v-690674ea]{opacity:1;transform:translate(0)}.skill-category[data-v-690674ea]:hover{transform:translateY(-5px);box-shadow:0 15px 25px #00000026,0 10px 10px #0000001a,0 0 0 1px #0000000d}.category-title[data-v-690674ea]{font-size:1.3rem;color:var(--text-color);margin-bottom:1rem}.skills-list[data-v-690674ea]{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag[data-v-690674ea]{background:var(--tag-bg);color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;transition:all .3s ease;box-shadow:0 3px 6px #00000026;display:inline-block;position:relative;overflow:hidden}.skill-tag[data-v-690674ea]:hover{transform:translateY(-3px);box-shadow:0 5px 8px #0003}.skill-tag[data-v-690674ea]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transition:transform .3s ease}.skill-tag[data-v-690674ea]:hover:after{transform:translate(100%)}.education[data-v-690674ea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.education-item[data-v-690674ea]{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 10px 20px #0000001a,0 6px 6px #0000001a,0 0 0 1px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translate(-50px);position:relative}.education-item[data-v-690674ea]:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(to bottom,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:1;border-radius:12px}.dark .education-item[data-v-690674ea]:before{background:linear-gradient(to bottom,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 100%)}.education-item.visible[data-v-690674ea]{opacity:1;transform:translate(0)}.education-item[data-v-690674ea]:hover{transform:translateY(-5px);box-shadow:0 15px 25px #00000026,0 10px 10px #0000001a,0 0 0 1px #0000000d}.degree-title[data-v-690674ea]{font-size:1.2rem;color:var(--text-color);margin-bottom:.5rem}.institution[data-v-690674ea],.period[data-v-690674ea]{color:var(--text-color)}.employments-section[data-v-690674ea]{margin-top:3rem}.employments-list[data-v-690674ea]{display:flex;flex-direction:column;gap:1.5rem}.employment-item[data-v-690674ea]{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 10px 20px #0000001a,0 6px 6px #0000001a,0 0 0 1px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translate(-50px);position:relative}.employment-item[data-v-690674ea]:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(to bottom,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:1;border-radius:12px}.dark .employment-item[data-v-690674ea]:before{background:linear-gradient(to bottom,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 100%)}.employment-item.visible[data-v-690674ea]{opacity:1;transform:translate(0)}.employment-item[data-v-690674ea]:hover{transform:translateY(-5px);box-shadow:0 15px 25px #00000026,0 10px 10px #0000001a,0 0 0 1px #0000000d}.period[data-v-690674ea],.company[data-v-690674ea]{color:var(--text-color)}.reviews-section[data-v-690674ea]{margin-top:3rem}.reviews-grid[data-v-690674ea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.review-card[data-v-690674ea]{background:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 10px 20px #0000001a,0 6px 6px #0000001a,0 0 0 1px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(20px);position:relative}.review-card[data-v-690674ea]:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(to bottom,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:1;border-radius:12px}.dark .review-card[data-v-690674ea]:before{background:linear-gradient(to bottom,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 100%)}.review-card.visible[data-v-690674ea]{opacity:1;transform:translateY(0)}.review-card[data-v-690674ea]:hover{transform:translateY(-5px);box-shadow:0 15px 25px #00000026,0 10px 10px #0000001a,0 0 0 1px #0000000d}.review-content[data-v-690674ea]{position:relative;z-index:2}.review-text[data-v-690674ea]{text-align:center}.review-quote[data-v-690674ea]{font-size:1.1rem;color:var(--text-color);margin-bottom:1rem}.review-author[data-v-690674ea]{margin-top:1rem}.author-name[data-v-690674ea]{font-size:1.1rem;color:var(--text-color);margin-bottom:.25rem}.author-position[data-v-690674ea]{color:var(--text-color);opacity:.8}@media (max-width: 1024px){.about[data-v-690674ea]{padding:1.5rem}.main-title[data-v-690674ea]{font-size:2.2rem}.section-title[data-v-690674ea]{font-size:1.6rem}.skills-grid[data-v-690674ea],.education[data-v-690674ea]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 768px){.about[data-v-690674ea]{padding:1rem}.main-title[data-v-690674ea]{font-size:2.2rem}.section-title[data-v-690674ea]{font-size:1.5rem}.subtitle[data-v-690674ea],.description[data-v-690674ea],.full-bio p[data-v-690674ea]{font-size:1rem}.skills-grid[data-v-690674ea],.education[data-v-690674ea]{grid-template-columns:1fr}.skill-category[data-v-690674ea],.education-item[data-v-690674ea],.employment-item[data-v-690674ea]{padding:1.25rem}.employment-item[data-v-690674ea]{flex-direction:column;align-items:flex-start;gap:.5rem}.period[data-v-690674ea],.company[data-v-690674ea]{font-size:1rem}.skill-tag[data-v-690674ea]{padding:.4rem .8rem;font-size:.85rem;border-radius:20px}.reviews-grid[data-v-690674ea]{grid-template-columns:1fr}.review-card[data-v-690674ea]{padding:1.5rem}.review-quote[data-v-690674ea]{font-size:1rem}}@media (max-width: 480px){.about[data-v-690674ea]{padding:.75rem}.main-title[data-v-690674ea]{font-size:1.8rem}.section-title[data-v-690674ea]{font-size:1.3rem}.skill-tag[data-v-690674ea]{padding:.35rem .7rem;font-size:.8rem;border-radius:18px}.degree-title[data-v-690674ea]{font-size:1.1rem}.institution[data-v-690674ea],.period[data-v-690674ea],.review-quote[data-v-690674ea]{font-size:.9rem}}.project-card[data-v-a4e729c8]{display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--text-color);transition:transform .3s ease,box-shadow .3s ease;height:100%;min-height:400px;box-shadow:0 10px 20px #0000001a,0 6px 6px #0000001a,0 0 0 1px #0000000d}.project-card[data-v-a4e729c8]:hover{transform:translateY(-5px);box-shadow:0 15px 25px #00000026,0 10px 10px #0000001a,0 0 0 1px #0000000d}.project-image-container[data-v-a4e729c8]{width:100%;height:200px;overflow:hidden;position:relative;background:var(--hover-bg)}.project-image[data-v-a4e729c8]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-image-placeholder[data-v-a4e729c8]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color);opacity:.5;font-size:3rem}.project-card:hover .project-image[data-v-a4e729c8]{transform:scale(1.05)}.project-content[data-v-a4e729c8]{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.project-title[data-v-a4e729c8]{font-size:1.5rem;margin-bottom:1rem;color:var(--text-color)}.project-description[data-v-a4e729c8]{font-size:1rem;line-height:1.6;color:var(--text-color);margin-bottom:1rem;flex-grow:1}.project-tags[data-v-a4e729c8]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}@media (max-width: 1024px){.project-card[data-v-a4e729c8]{min-height:380px}.project-image-container[data-v-a4e729c8]{height:180px}}@media (max-width: 768px){.project-card[data-v-a4e729c8]{min-height:360px}.project-image-container[data-v-a4e729c8]{height:160px}.project-title[data-v-a4e729c8]{font-size:1.3rem}.project-description[data-v-a4e729c8]{font-size:.95rem}}@media (max-width: 480px){.project-card[data-v-a4e729c8]{min-height:340px}.project-image-container[data-v-a4e729c8]{height:140px}.project-title[data-v-a4e729c8]{font-size:1.2rem}.project-description[data-v-a4e729c8]{font-size:.9rem}}.loading-dots[data-v-53028f60]{display:flex;justify-content:center;align-items:center;gap:.5rem;height:100px}.dot[data-v-53028f60]{width:12px;height:12px;background-color:var(--tag-bg);border-radius:50%;animation:bounce-53028f60 1.4s infinite ease-in-out}.dot[data-v-53028f60]:nth-child(1){animation-delay:-.32s}.dot[data-v-53028f60]:nth-child(2){animation-delay:-.16s}@keyframes bounce-53028f60{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.projects[data-v-ffd5f941]{padding:2rem;max-width:1200px;margin:0 auto}.main-title[data-v-ffd5f941]{font-size:2.5rem;margin-bottom:2rem;color:var(--text-color);position:relative;display:inline-block}.projects-grid[data-v-ffd5f941]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.loading[data-v-ffd5f941]{display:flex;justify-content:center;align-items:center;min-height:200px}.error[data-v-ffd5f941]{text-align:center;padding:2rem;font-size:1.2rem;color:#f44}@media (max-width: 1024px){.projects[data-v-ffd5f941]{padding:1.5rem}.projects-grid[data-v-ffd5f941]{gap:1.5rem}}@media (max-width: 768px){.projects[data-v-ffd5f941]{padding:1rem}.main-title[data-v-ffd5f941]{font-size:2.2rem}.projects-grid[data-v-ffd5f941]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}}@media (max-width: 480px){.projects[data-v-ffd5f941]{padding:.75rem}.main-title[data-v-ffd5f941]{font-size:2rem}.projects-grid[data-v-ffd5f941]{grid-template-columns:1fr}}.contact[data-v-ce33e8fc]{padding:2rem;max-width:1200px;margin:0 auto}.contact-content[data-v-ce33e8fc]{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-info[data-v-ce33e8fc]{padding:2rem}h1[data-v-ce33e8fc]{color:var(--text-color);margin-bottom:1rem;position:relative;display:inline-block}h1[data-v-ce33e8fc]:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:3px;background:var(--tag-bg);border-radius:2px}.contact-info h1.main-title[data-v-ce33e8fc]:after{display:none}.description[data-v-ce33e8fc]{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:2rem}.email-contact[data-v-ce33e8fc]{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1)}.email-contact[data-v-ce33e8fc]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.email-contact i[data-v-ce33e8fc]{font-size:1.5rem;color:var(--tag-bg)}.email-link[data-v-ce33e8fc]{color:var(--text-color);text-decoration:none;font-size:1.1rem;transition:color .3s ease}.email-link[data-v-ce33e8fc]:hover{color:var(--tag-bg)}.social-links[data-v-ce33e8fc]{display:flex;flex-direction:column;gap:1rem}.social-link[data-v-ce33e8fc]{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-color);padding:.5rem;border-radius:4px;transition:background-color .3s ease}.social-link[data-v-ce33e8fc]:hover{background-color:var(--tag-bg);color:#fff}.contact-form[data-v-ce33e8fc]{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;border:1px solid var(--border-color)}.form-group[data-v-ce33e8fc]{margin-bottom:1.5rem}label[data-v-ce33e8fc]{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.form-input[data-v-ce33e8fc],textarea[data-v-ce33e8fc]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:var(--bg-color);color:var(--text-color)}.form-textarea[data-v-ce33e8fc]{min-height:150px;resize:vertical}.submit-btn[data-v-ce33e8fc]{margin-top:1rem}@media (max-width: 768px){.contact-content[data-v-ce33e8fc]{grid-template-columns:1fr}}.project-detail[data-v-48698092]{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 8rem);display:flex;flex-direction:column;box-sizing:border-box}.back-button[data-v-48698092]{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color);text-decoration:none;margin-bottom:2rem;font-weight:500;transition:opacity .3s ease}.back-button[data-v-48698092]:hover{opacity:.8}.project-header[data-v-48698092]{margin-bottom:2rem}.project-title[data-v-48698092]{font-size:2.5rem;margin-bottom:1rem;color:var(--text-color)}.project-tags[data-v-48698092]{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.project-tag[data-v-48698092]{background:var(--tag-bg);color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;transition:all .3s ease;box-shadow:0 3px 6px #00000026;display:inline-block;position:relative;overflow:hidden}.project-tag[data-v-48698092]:hover{transform:translateY(-3px);box-shadow:0 5px 8px #0003}.project-tag[data-v-48698092]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transition:transform .3s ease}.project-tag[data-v-48698092]:hover:after{transform:translate(100%)}.project-links[data-v-48698092]{display:flex;gap:1rem;margin-top:1rem}.project-link[data-v-48698092]{color:var(--primary-color);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:opacity .3s ease}.project-link[data-v-48698092]:hover{opacity:.8}.project-image[data-v-48698092]{width:100%;max-height:500px;object-fit:cover;border-radius:8px;margin-bottom:2rem}.project-description h2[data-v-48698092]{color:var(--text-color);font-size:1.5rem;margin-bottom:1rem}.back-link[data-v-48698092]{margin-top:2rem;text-align:center}.btn[data-v-48698092]{padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn i[data-v-48698092]{font-size:1rem}.primary[data-v-48698092]{background-color:#42b983;color:#fff}.secondary[data-v-48698092]{background-color:var(--hover-bg);color:var(--text-color);border:1px solid var(--border-color)}@media (max-width: 1024px){.project-detail[data-v-48698092]{padding:1.5rem}.project-title[data-v-48698092]{font-size:2.2rem}.project-image[data-v-48698092]{max-height:400px}}@media (max-width: 768px){.project-detail[data-v-48698092]{padding:1rem}.project-title[data-v-48698092]{font-size:2rem}.project-image[data-v-48698092]{max-height:350px}.project-description[data-v-48698092]{font-size:1rem;line-height:1.6}.project-tag[data-v-48698092]{padding:.4rem .8rem;font-size:.85rem;border-radius:20px}}@media (max-width: 480px){.project-detail[data-v-48698092]{padding:.75rem}.project-title[data-v-48698092]{font-size:1.8rem}.project-image[data-v-48698092]{max-height:300px}.project-tag[data-v-48698092]{padding:.35rem .7rem;font-size:.8rem;border-radius:18px}.project-links[data-v-48698092]{flex-direction:column;gap:.5rem}}.project-meta[data-v-48698092]{margin:1rem 0;display:flex;flex-direction:column;gap:.5rem}.project-period[data-v-48698092]{color:var(--text-color);font-size:1rem;font-weight:500;opacity:.8;display:inline-block}.project-period-section[data-v-48698092]{margin:1.5rem 0}.project-period-section p[data-v-48698092]{color:var(--text-color);font-size:1rem;opacity:.8}.project-tags-section[data-v-48698092]{margin:2rem 0}.project-tags-section h2[data-v-48698092]{color:var(--text-color);font-size:1.5rem;margin-bottom:1rem}.project-content[data-v-48698092]{display:flex;flex-direction:column;gap:2rem;flex:1;overflow-y:auto}.project-image-container[data-v-48698092]{width:100%;max-height:500px;overflow:hidden;border-radius:8px;box-shadow:0 4px 6px #0000001a}.project-description[data-v-48698092]{margin:3rem 0 2rem}.description-text[data-v-48698092]{font-size:1.1rem;line-height:1.8;color:var(--text-color);white-space:pre-line}.description-text p[data-v-48698092]{margin-bottom:1rem}:root{--primary-color: #4a90e2;--secondary-color: #2c3e50;--text-color: #333;--background-color: #fff;--border-color: #e0e0e0;--success-color: #4caf50;--error-color: #f44336;--warning-color: #ff9800;--info-color: #2196f3;--transition-speed: .3s;--tag-bg: #4caf50;--project-tag-bg: var(--primary-color);--card-bg: #fff;--hover-bg: #f5f5f5}.dark{--text-color: #e2e8f0;--background-color: #1a1a1a;--border-color: #333;--card-bg: #2d2d2d;--hover-bg: #3d3d3d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);transition:background-color var(--transition-speed),color var(--transition-speed)}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;line-height:1.2;color:var(--text-color)}p{margin-bottom:1rem;color:var(--text-color)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed)}a:hover{color:var(--secondary-color)}.btn{display:inline-block;padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;transition:all var(--transition-speed)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-secondary{background-color:var(--secondary-color);color:#fff}input,textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;background-color:var(--card-bg);color:var(--text-color)}.text-center{text-align:center}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}@media (max-width: 768px){.container{padding:0 10px}}.main-title:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:3px;background:var(--tag-bg);border-radius:2px}
