.achievement-category,.btn-submit:disabled:hover,.card,.contact-cta,.contact-form-container,.contact-item,.education-item,.skill-item{box-shadow:0 2px 4px var(--shadow-light)}.about-section,.btn,.contact-form-container h3,.contact-intro,.footer,.form-description,.form-message,.section-title,.skill-name{text-align:center}.hero-name,.section-title{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.hero-name,.hero-title,.section-title{transition:color .3s}.btn:hover,.skill-item:hover{background:var(--bg-card-hover)}.btn,.contact-item{cursor:pointer;text-decoration:none}.btn-submit:disabled,.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-card: #ffffff;--bg-card-hover: #f0f0f0;--text-primary: #000000;--text-secondary: #1a1a1a;--text-tertiary: #333333;--border-color: #cccccc;--separator-color: #999999;--accent-color: #333333;--accent-hover: #000000;--success-color: #007700;--warning-color: #cc6600;--error-color: #cc0000;--focus-ring: #333333;--shadow-light: rgba(0, 0, 0, .15) }*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s,color .3s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:0}.portfolio-app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1rem;width:100%}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:var(--accent-color)}.about-text:hover,.btn:hover,.card:hover .card-content,.card:hover .card-title,.hero-name,.hero-name:hover,.hero-title:hover,.section-title,.section-title:hover{color:var(--text-primary)}.separator{height:2px;background:linear-gradient(to right,transparent,var(--separator-color),transparent);margin:2rem 0;opacity:.8}.about-section,.achievements-section,.contact-section,.education-section,.experience-section,.projects-section,.section,.skills-section{padding:2rem 1rem;max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;margin-bottom:2rem;padding:0 1rem}.hero-section{padding:3rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto}.hero-content{display:flex;flex-direction:column;gap:2rem}.hero-name{font-size:clamp(1.6rem,8vw,2.2rem);word-break:keep-all}.hero-title{font-size:1.5rem;color:var(--text-tertiary)}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-image{display:flex;justify-content:center}.btn,.contact-icon{align-items:center}.hero-image-container{width:300px;height:300px;border-radius:50%;overflow:hidden;border:4px solid var(--accent-color);transition:transform .3s,box-shadow .3s}.hero-image-container:hover{transform:scale(1.05);box-shadow:0 20px 40px #0000004d}.hero-image-container img,.skill-image img{width:100%;height:100%;object-fit:cover;display:block}.btn{padding:.75rem 1.5rem;border:3px solid var(--accent-color);background:0 0;color:var(--accent-color);border-radius:.5rem;transition:.2s;display:inline-flex;gap:.5rem;font-weight:600;position:relative;font-size:1rem;white-space:nowrap}.card,.skill-item{background:var(--bg-card)}.about-text,.skill-name{color:var(--text-secondary)}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-light);border-color:var(--text-primary)}.btn:active{transform:translateY(0);box-shadow:0 4px 8px var(--shadow-light)}.about-text{font-size:1.1rem;line-height:1.8;max-width:800px;margin:0 auto;transition:color .3s}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:2rem;margin-top:1.5rem}.skill-item{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;border-radius:1rem;transition:.2s;cursor:pointer;border:2px solid var(--border-color)}.skill-item:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 12px 24px var(--shadow-light);border-color:var(--accent-color);border-width:3px}.skill-image{width:60px;height:60px;border-radius:.5rem;overflow:hidden}.card,.tech-badge{border-radius:1rem;border:2px solid var(--border-color)}.card,.card-content,.card-title,.skill-name{word-wrap:break-word;overflow-wrap:break-word}.skill-name{font-size:.9rem;transition:color .3s}.semester-score,.skill-item:hover .skill-name{color:var(--text-primary);font-weight:600}.card{padding:2rem;margin-bottom:1.5rem;transition:.2s}.achievement-category:hover,.card:hover,.contact-cta:hover,.education-item:hover{transform:translateY(-5px);box-shadow:0 12px 24px var(--shadow-light);border-color:var(--text-primary);border-width:3px}.card-title{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;transition:color .3s;hyphens:auto}.card-content{color:var(--text-secondary);line-height:1.6}.experience-item{margin-bottom:1.5rem}.experience-meta,.experience-points li,.project-header{margin-bottom:1rem;display:flex}.experience-meta{flex-direction:column;gap:.5rem}.experience-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.experience-company{color:var(--text-tertiary);font-weight:500}.experience-duration,.footer p{color:var(--text-tertiary);font-size:.9rem}.experience-points{list-style:none;padding:0}.experience-points li{align-items:flex-start;gap:1rem;color:var(--text-secondary)}.experience-points li:before{content:"•";color:var(--accent-color);font-weight:700;font-size:1.2rem}.project-header{justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.project-buttons{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-badge{background:var(--bg-secondary);color:var(--text-primary);padding:.4rem 1rem;font-size:.875rem;font-weight:600;transition:.2s}.tech-badge:hover{background:var(--accent-color);color:var(--bg-primary);border-color:var(--text-primary);transform:scale(1.08);box-shadow:0 4px 8px var(--shadow-light)}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem;margin-top:1.5rem}.achievement-category,.education-item{background:var(--bg-card);border-radius:1rem;padding:2rem;transition:.2s;border:2px solid var(--border-color)}.achievement-item,.semester-item{border-radius:.5rem;transition:.3s;background:var(--bg-secondary)}.education-degree{font-size:1.2rem;color:var(--text-primary);margin-bottom:.5rem}.education-field{color:var(--text-tertiary);margin-bottom:1rem}.education-institution{color:var(--text-primary);font-weight:500;margin-bottom:.5rem}.education-duration{color:var(--text-tertiary);font-size:.9rem;margin-bottom:1rem}.education-grade{color:var(--accent-color);font-size:1.1rem;font-weight:600}.semester-scores{margin-top:1rem}.semester-scores h4{color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.semester-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.semester-item{display:flex;justify-content:space-between;padding:.5rem}.achievement-item:hover,.semester-item:hover{background:var(--bg-card-hover);transform:scale(1.02)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(350px,100%),1fr));gap:2rem;margin-top:1.5rem}.achievement-category h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.3rem}.achievement-item{padding:1rem;margin-bottom:1rem}.contact-cta,.contact-item{border-radius:1rem;padding:2rem;text-align:center}.achievement-title,.contact-label{color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.achievement-org{color:var(--text-tertiary);font-size:.9rem;margin-bottom:.3rem}.achievement-date{color:var(--text-tertiary);font-size:.8rem;margin-bottom:.5rem}.contact-grid,.contact-intro{margin-bottom:2rem}.achievement-desc,.contact-value{color:var(--text-secondary);font-size:.9rem}.contact-intro h2{color:var(--text-primary);margin-bottom:1rem}.contact-intro p{color:var(--text-secondary);max-width:600px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:2rem}.contact-item{background:var(--bg-card);transition:.2s;border:2px solid var(--border-color);color:inherit}.contact-item:hover{transform:translateY(-5px);box-shadow:0 12px 24px var(--shadow-light);border-color:var(--text-primary);border-width:3px;background:var(--bg-card-hover)}.contact-icon{width:60px;height:60px;background:var(--bg-card-hover);border-radius:50%;display:flex;justify-content:center;margin:0 auto 1rem;transition:.3s}.contact-cta,.contact-form-container{background:var(--bg-card);transition:.2s}.contact-item:hover .contact-icon{background:var(--bg-secondary);transform:scale(1.1)}.contact-icon svg{width:24px;height:24px;color:var(--text-primary)}.contact-cta{border:2px solid var(--border-color)}.contact-cta h3{color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.contact-cta p{color:var(--text-secondary);margin-bottom:2rem}.contact-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-content-wrapper{display:flex;flex-wrap:wrap;gap:2rem;margin-top:3rem;align-items:flex-start}.contact-details{flex:1 1 400px}.contact-form-container{flex:1 1 500px;min-width:300px;border-radius:1rem;padding:3rem 2rem;margin-top:0;border:2px solid var(--border-color);max-width:100%;width:100%}.contact-details .contact-grid{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.contact-form-container:hover{box-shadow:0 8px 16px var(--shadow-light);border-color:var(--accent-color)}.form-header{margin-bottom:2.5rem}.contact-form-container h3{color:var(--text-primary);font-size:clamp(1.5rem,4vw,2rem);margin-bottom:1rem}.form-description{color:var(--text-secondary);margin-bottom:0;font-size:clamp(.95rem,2.5vw,1.05rem);line-height:1.6;padding:0 1rem}.contact-form{max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.form-group{margin-bottom:0}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem;font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:.5rem;background:var(--bg-secondary);color:var(--text-primary);font-size:clamp(.95rem,2vw,1rem);font-family:inherit;transition:.2s;min-height:44px;-webkit-appearance:none;appearance:none}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--accent-color);border-width:3px;background:var(--bg-card);box-shadow:0 0 0 3px #0000001a}.form-group textarea{resize:vertical;min-height:clamp(120px,15vh,160px);line-height:1.6}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary);opacity:.7}.btn-submit{width:100%;padding:1rem 2rem;font-size:1.05rem;margin-top:0;justify-content:center}.btn-submit:disabled,.btn-submit:disabled:hover{transform:none}.form-message{margin-top:1rem;padding:1rem;border-radius:.5rem;font-weight:600;border:2px solid}.form-message.success{background:#0077001a;color:var(--success-color);border-color:var(--success-color)}.form-message.error{background:#cc00001a;color:var(--error-color);border-color:var(--error-color)}@media (prefers-color-scheme:dark){:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-card: #1a1a1a;--bg-card-hover: #262626;--text-primary: #ffffff;--text-secondary: #f0f0f0;--text-tertiary: #cccccc;--border-color: #555555;--separator-color: #666666;--accent-color: #cccccc;--accent-hover: #ffffff;--success-color: #00dd00;--warning-color: #ffaa00;--error-color: #ff3333;--focus-ring: #cccccc;--shadow-light: rgba(255, 255, 255, .15) }.form-message.success{background:#00dd0026;color:var(--success-color)}.form-message.error{background:#ff333326;color:var(--error-color)}}.footer{background:var(--bg-primary);padding:2rem 1rem;border-top:1px solid var(--border-color);margin-top:2rem}.portfolio-app,body,html{overflow-x:hidden;max-width:100%}@media (max-width:1024px){.hero-section{gap:2rem}.hero-name{font-size:3rem}.section-title{font-size:2.2rem}}@media (max-width:768px){.hero-section{grid-template-columns:1fr;gap:2rem;padding:2rem 1rem 1rem}.hero-content{align-items:center;text-align:center}.hero-buttons{justify-content:center}.hero-image{order:1}.hero-image-container{width:250px;height:250px}}@media (max-width:600px){.achievements-grid,.contact-grid{grid-template-columns:1fr}.hero-section{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1rem .5rem}.hero-content{align-items:center;text-align:center}.hero-buttons{justify-content:center}.hero-image{order:1}.hero-image-container{width:220px;height:220px}.hero-name{font-size:2.2rem}.hero-title{font-size:1.2rem}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%;justify-content:center}.contact-content-wrapper{flex-direction:column}.contact-form-container{padding:2rem 1rem}.contact-grid{gap:1rem}.form-group label{font-size:.95rem}.form-group input,.form-group textarea{padding:.875rem}.achievement-category{padding:1.5rem}.tech-badge{font-size:.75rem;padding:.35rem .75rem}.contact-section .contact-content-wrapper{display:flex;flex-direction:column;gap:2rem}.contact-section .contact-details{width:100%}.contact-section .contact-grid{display:flex;flex-direction:column;gap:1rem;margin:0;width:100%;max-width:100%}.contact-section .contact-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:1rem;width:100%;text-align:left;gap:1rem}.contact-section .contact-icon{flex:0 0 48px;width:48px;height:48px;margin:0;background:var(--bg-secondary)}.contact-section .contact-icon svg{width:24px;height:24px}.contact-section address{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;font-style:normal}.contact-section .contact-label{font-size:1rem;font-weight:700;margin-bottom:.2rem;line-height:1.2}.contact-section .contact-value{font-size:.9rem;color:var(--text-secondary);word-break:break-all;line-height:1.4}}@media (max-width:480px){.hero-section,.section{padding:1.5rem .75rem}.hero-name{font-size:1.5rem;word-break:break-word}.hero-title{font-size:1.1rem}.hero-image-container{width:180px;height:180px}.section-title{font-size:1.75rem}.card{padding:1.25rem}.card-title{font-size:1.3rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem}.skill-item{padding:1rem .5rem}.skill-image{width:50px;height:50px}.btn,.project-buttons .btn{width:100%}.btn{padding:.75rem 1.25rem;font-size:.9rem;justify-content:center}.contact-form-container{padding:1.5rem .75rem;margin-top:2rem;border-radius:.75rem}.form-header{margin-bottom:1.5rem}.contact-form-container h3{font-size:1.5rem;margin-bottom:.75rem}.form-description{font-size:.9rem;margin-bottom:0;padding:0}.contact-form{gap:1rem}.form-group label{font-size:.9rem;margin-bottom:.4rem}.form-group input,.form-group textarea{padding:.875rem .75rem;font-size:16px;border-radius:.4rem;min-height:48px}.form-group textarea{min-height:140px;padding:.875rem}.btn-submit{padding:1rem 1.5rem;font-size:1rem;width:100%;min-height:48px}.form-message{padding:.875rem;font-size:.9rem}.contact-item{padding:1.5rem 1rem}.achievement-category h3{font-size:1.2rem}.semester-grid{grid-template-columns:1fr}}@media (max-width:360px){.hero-section,.section{padding:1.25rem .5rem}.hero-name{font-size:1.6rem}.hero-title{font-size:1rem}.hero-image-container{width:160px;height:160px}.section-title{font-size:1.5rem}.card{padding:1rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.5rem}.skill-item{padding:.75rem .25rem}.skill-image{width:40px;height:40px}.skill-name{font-size:.8rem}.contact-form-container{padding:1.25rem .5rem;margin-top:1.5rem}.form-header{margin-bottom:1.25rem}.contact-form-container h3{font-size:1.35rem}.form-description{font-size:.85rem;margin-bottom:0}.contact-form{gap:.875rem}.form-group input,.form-group textarea{padding:.75rem}.btn-submit{padding:.875rem 1.25rem;font-size:.95rem}.btn{padding:.65rem 1rem;font-size:.85rem}.contact-item{padding:1.25rem .75rem}.tech-badge{font-size:.7rem;padding:.3rem .6rem}}
