@import url(https://api.fontshare.com/v2/css?f[]=clash-display@300,400,500,600,700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap);.header{left:0;padding:1.1rem 0;position:fixed;right:0;top:0;transition:all .4s var(--ease-out);z-index:100}.header.scrolled{backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);background:#030303bf;border-bottom:1px solid var(--border-subtle);padding:.65rem 0}.header-inner{align-items:center;display:flex;justify-content:space-between}.brand{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:800;letter-spacing:-.03em}.brand-dot{color:var(--accent)}.nav-desktop{align-items:center;display:flex;gap:var(--space-1)}.nav-link{border-radius:var(--radius-full);color:var(--text-secondary);font-size:.82rem;font-weight:500;padding:.45rem .85rem;transition:all var(--dur-fast) var(--ease-out)}.nav-link:hover{background:#ffffff0d;color:var(--text-primary)}.nav-link.active{background:#8b5cf61a;color:var(--text-primary)}.nav-cta{font-size:.82rem;margin-left:var(--space-2);padding:.45rem 1.2rem}.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}.hamburger span{background:var(--text-primary);border-radius:2px;display:block;height:2px;transform-origin:center;transition:all var(--dur-fast) var(--ease-out);width:22px}.hamburger.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:#030303eb;inset:0;justify-content:center;position:fixed;z-index:99}.mobile-nav,.mobile-nav nav{align-items:center;display:flex}.mobile-nav nav{flex-direction:column;gap:var(--space-6)}.mobile-nav a{border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-display);font-size:1.6rem;font-weight:600;padding:.5rem 1.5rem;transition:all var(--dur-fast) var(--ease-out)}.mobile-nav a.active,.mobile-nav a:hover{background:#8b5cf614;color:var(--text-primary)}@media (max-width:768px){.nav-desktop{display:none}.hamburger{display:flex}}.hero{align-items:center;display:flex;min-height:100vh;padding-bottom:var(--space-16);padding-top:100px}.hero-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-auto-rows:minmax(180px,auto);grid-template-areas:"main main photo info" "main main tech time";grid-template-columns:repeat(4,1fr);width:100%}.hero-main{grid-area:main;justify-content:center;padding:var(--space-12) var(--space-10)}.hero-status-badge{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.hero-name{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-bottom:var(--space-6)}.hero-tagline{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin-bottom:var(--space-8);max-width:440px}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.hero-photo{align-items:center;grid-area:photo;justify-content:center;padding:var(--space-4)}.hero-photo img{border-radius:var(--radius-xl);filter:grayscale(15%) contrast(1.05);height:100%;object-fit:cover;transition:all .5s var(--ease-out);width:100%}.hero-photo:hover img{filter:grayscale(0);transform:scale(1.04)}.hero-info{grid-area:info}.hero-info,.hero-time{justify-content:center}.hero-time{grid-area:time}.hero-tech{grid-area:tech;justify-content:center}.info-block{display:flex;flex-direction:column;gap:var(--space-1)}.info-block+.info-block{margin-top:var(--space-4)}.info-label{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.info-value{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:500;gap:var(--space-2)}.time-display{color:var(--text-accent);font-family:var(--font-mono);font-size:1.8rem;font-weight:700;letter-spacing:-.02em;margin:var(--space-2) 0}.hero-tech,.tech-icons{gap:var(--space-3)}.tech-icons{display:flex;flex-wrap:wrap}.tech-icons img{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;height:34px;object-fit:contain;padding:5px;transition:all var(--dur-fast) var(--ease-out);width:34px}.tech-icons img:hover{background:#8b5cf61a;border-color:var(--border-accent)}@media (max-width:1024px){.hero-grid{grid-template-areas:"main main" "photo info" "tech time";grid-template-columns:repeat(2,1fr)}.hero-main{padding:var(--space-8)}}@media (max-width:640px){.hero{padding-top:70px}.hero-grid{gap:var(--space-3);grid-template-areas:"main main" "photo info" "tech time";grid-template-columns:repeat(2,1fr)}.hero-main{padding:var(--space-5)}.hero-name{font-size:2.2rem}.hero-tagline{font-size:.9rem}.hero-actions{flex-direction:column}.hero-actions .btn{font-size:.85rem;justify-content:center;padding:.5rem 1rem}.tech-icons{gap:var(--space-2)}.tech-icon{height:32px;padding:6px;width:32px}.time-display{font-size:1.2rem}.date-display{font-size:.7rem}}.about{padding:var(--space-24) 0}.about-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-auto-rows:minmax(140px,auto);grid-template-areas:"header header photo photo" "bio bio photo photo" "detail1 detail2 detail3 detail4";grid-template-columns:repeat(4,1fr)}.about-header{grid-area:header;justify-content:center;padding-bottom:var(--space-4)}.about-bio{grid-area:bio;justify-content:center}.about-photo{grid-area:photo}.detail1{grid-area:detail1}.detail2{grid-area:detail2}.detail3{grid-area:detail3}.detail4{grid-area:detail4}.about-bio h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-4)}.about-bio p{color:var(--text-secondary);font-size:.92rem;line-height:1.8}.about-detail{display:flex;flex-direction:column;gap:var(--space-3);justify-content:flex-start}.about-detail .detail-icon{border-radius:var(--radius-md);flex-shrink:0;height:42px;overflow:hidden;width:42px}.about-detail .detail-icon img{height:100%;object-fit:contain;width:100%}.about-detail .detail-value{color:var(--text-primary);font-size:.88rem;font-weight:600;line-height:1.3;margin-bottom:2px}.about-detail .detail-sub{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.about-photo{min-height:300px;overflow:hidden;padding:0;position:relative}.about-photo img{filter:grayscale(15%) brightness(.9);height:100%;object-fit:cover;transition:all .6s var(--ease-out);width:100%}.about-photo:hover img{filter:grayscale(0) brightness(1);transform:scale(1.03)}.about-photo .photo-overlay{background:linear-gradient(#0000,#030303f2);bottom:0;left:0;padding:var(--space-6);position:absolute;right:0;z-index:2}.about-photo .photo-overlay h4{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.about-photo .photo-overlay p{color:var(--text-secondary);font-size:.85rem}@media (max-width:1024px){.about-grid{grid-template-areas:"header header" "photo photo" "bio bio" "detail1 detail2" "detail3 detail4";grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.about-grid{gap:var(--space-3);grid-template-areas:"header header" "photo bio" "detail1 detail2" "detail3 detail4";grid-template-columns:repeat(2,1fr)}.about-bio{padding:var(--space-4)}.about-bio h3{font-size:1.1rem}.about-bio p{font-size:.8rem}.about-detail{gap:var(--space-2);padding:var(--space-4)}.detail-icon{height:36px;padding:6px;width:36px}.about-detail p{font-size:.85rem}.about-photo{height:180px}.photo-overlay h4{font-size:.9rem}.photo-overlay p{font-size:.65rem}}.skills{padding:var(--space-24) 0}.skills-tab-layout{display:flex;flex-direction:column;gap:var(--space-8)}.skills-header{margin-bottom:var(--space-8)}.tab-container{display:flex;gap:var(--space-8);min-height:300px}.tab-menu-sidebar{display:flex;flex-direction:column;gap:var(--space-2);min-width:200px}.tab-btn{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-tertiary);font-family:var(--font-display);font-size:1.2rem;font-weight:600;padding:var(--space-4) var(--space-6);text-align:left;transition:all var(--dur-normal)}.tab-btn:hover{background:#ffffff05;color:var(--text-secondary)}.tab-btn.active{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:inset 0 0 20px #8b5cf60d;color:#fff}.tab-content-area{flex:1 1;position:relative}.app-grid-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff0d;border-radius:var(--radius-xl);padding:var(--space-4);width:100%}.app-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));justify-items:center;padding:var(--space-8)}.app-item-wrapper{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);position:relative;width:100%}.app-icon-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:22px;box-shadow:0 10px 20px #0003;cursor:pointer;display:flex;height:80px;justify-content:center;padding:var(--space-4);transition:box-shadow .3s var(--ease-out);width:80px}.app-icon-card:hover{background:#ffffff14;box-shadow:0 15px 30px #8b5cf633}.app-icon-stack{align-items:center;display:flex;gap:var(--space-2);height:100%;justify-content:center;width:100%}.app-icon-img{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));height:100%;object-fit:contain;width:100%}.app-name{color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:500;max-width:100px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.skill-modal-root{align-items:center;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:10000}.skill-modal-overlay{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#000000bf;inset:0;position:absolute}.skill-modal-content{align-items:center;background:#0f0f14e6!important;border:1px solid #ffffff1a!important;border-radius:var(--radius-2xl)!important;box-shadow:0 25px 50px -12px #000000b3!important;display:flex;flex-direction:column;max-width:480px;padding:var(--space-12) var(--space-8)!important;position:relative;width:100%}.modal-close-macos{background:#ef4444;border:none;border-radius:50%;cursor:pointer;height:14px;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:14px;z-index:20}.modal-close-macos:hover{background:#dc2626;transform:scale(1.1)}.modal-icon-header{margin-bottom:var(--space-6)}.modal-large-icon{filter:drop-shadow(0 0 20px rgba(139,92,246,.3));height:70px;object-fit:contain;width:70px}.modal-skill-title{color:#fff;font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-4)}.modal-skill-desc-justify{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:var(--space-8);max-width:100%;text-align:justify}.modal-tags-wrapper{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.skill-tag-badge{border:1px solid #0000;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:.35rem .8rem;white-space:nowrap}.tag-level-red{background:#ef444433;border:1px solid #ef44444d;color:#ef4444}.tag-level-yellow{background:#eab30833;border:1px solid #eab3084d;color:#eab308}.tag-level-green{background:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}@media (max-width:768px){.tab-container{flex-direction:column}.tab-menu-sidebar{-ms-overflow-style:none;flex-direction:row;overflow-x:auto;padding-bottom:var(--space-4);scrollbar-width:none;white-space:nowrap;width:100%}.tab-menu-sidebar::-webkit-scrollbar{display:none}.app-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(3,1fr);padding:var(--space-4);width:100%}.app-icon-card{border-radius:16px;height:60px;padding:var(--space-3);width:60px}.app-name{font-size:.75rem}.skill-modal-content{max-width:92%;padding:var(--space-10) var(--space-5)!important}.modal-skill-title{font-size:1.6rem}.modal-skill-desc-justify{font-size:.85rem}.skill-tag-badge{font-size:.65rem;padding:.25rem .6rem}}@media (max-width:480px){.app-grid{grid-template-columns:repeat(3,1fr)}}.projects{padding:var(--space-24) 0}.projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-auto-rows:minmax(140px,auto);grid-template-areas:"header header header header header header header header v1 v1 v2 v2" "feat feat feat feat feat feat feat feat p1 p1 p1 p1" "feat feat feat feat feat feat feat feat p2 p2 p2 p2" "p3 p3 p3 p3 p4 p4 p4 p4 p5 p5 p5 p5" "p6 p6 p6 p6 p6 p6 p7 p7 p7 p7 p7 p7";grid-template-columns:repeat(12,1fr)}.project-header{grid-area:header;justify-content:center;padding-bottom:var(--space-6)}.feat{grid-area:feat}.p1{grid-area:p1}.p2{grid-area:p2}.p3{grid-area:p3}.p4{grid-area:p4}.p5{grid-area:p5}.p6{grid-area:p6}.p7{grid-area:p7}.v1{grid-area:v1}.v2{grid-area:v2}.typo-project-card{justify-content:space-between;min-height:280px;overflow:hidden;padding:0}.typo-project-body,.typo-project-card{display:flex;flex-direction:column;position:relative}.typo-project-body{height:100%;padding:var(--space-8);z-index:2}.typo-project-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:auto}.project-demo-link{background:#fff;border-radius:var(--radius-full);color:#000;font-family:var(--font-body);font-size:.75rem;font-weight:600;padding:.3rem .8rem;text-decoration:none}.typo-project-bottom{margin-top:var(--space-8)}.typo-project-type{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.massive-project-title{-webkit-text-stroke:1px #fff6;word-wrap:break-word;color:#0000;font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:900;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.04em;line-height:.9;margin-bottom:var(--space-3);overflow-wrap:break-word;text-transform:uppercase;transition:all .4s var(--ease-out)}.typo-project-card:hover .massive-project-title{-webkit-text-stroke:0 #0000;color:#fff}.feat .massive-project-title{-webkit-text-stroke:2px #a78bfa99;font-size:clamp(3.5rem,7vw,6rem)}.typo-project-card.feat:hover .massive-project-title{color:var(--accent)}.typo-project-desc{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:var(--space-5);max-width:90%}.typo-tags-container{display:flex;flex-wrap:wrap;gap:var(--space-2)}.typo-tag{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font-mono);font-size:.75rem;padding:.3rem .8rem;white-space:nowrap}.typo-project-bg{height:100%;inset:0;opacity:1;pointer-events:none;position:absolute;width:100%;z-index:1}.typo-project-bg img{filter:grayscale(100%) brightness(.3) contrast(1.2);height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out);width:100%}.typo-project-card:hover .typo-project-bg img{filter:grayscale(0) brightness(.7) contrast(1.1);transform:scale(1.05)}.other-portfolios-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr;padding:0 var(--space-8) var(--space-8)}.porto-item{border-radius:var(--radius-md);display:block;height:120px;overflow:hidden;position:relative}.porto-item img{height:100%;object-fit:cover;transition:transform .4s var(--ease-out);width:100%}.porto-item:hover img{transform:scale(1.05)}.porto-overlay{align-items:center;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:#0000001a;color:#fff;display:flex;font-family:var(--font-display);font-size:1.2rem;font-weight:700;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.porto-item:hover .porto-overlay{opacity:1}@media (max-width:1024px){.projects-grid{grid-template-areas:"header header header header header header v1 v2" "feat feat feat feat p1 p1 p1 p1" "feat feat feat feat p2 p2 p2 p2" "p3 p3 p3 p3 p4 p4 p4 p4" "p5 p5 p5 p5 p6 p6 p6 p6" "p7 p7 p7 p7 p7 p7 p7 p7";grid-template-columns:repeat(8,1fr)}}@media (max-width:640px){.projects-grid{gap:var(--space-2);grid-template-areas:"header header" "v1 v2" "feat feat" "p1 p2" "p3 p4" "p5 p6" "p7 p7";grid-template-columns:repeat(2,1fr)}.typo-project-body{padding:var(--space-3)}.massive-project-title{font-size:1.1rem;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-1);word-break:break-word}.feat .massive-project-title{font-size:1.6rem}.typo-project-desc{font-size:.65rem;line-height:1.3;margin-bottom:var(--space-2)}.typo-project-bottom{margin-top:var(--space-2)}.typo-project-type{font-size:.6rem}.other-portfolios-grid{gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.porto-item{height:60px}.typo-tag{font-size:.55rem;padding:.15rem .4rem}.project-demo-link{font-size:.6rem;padding:.2rem .5rem}}@media (hover:none){.typo-project-bg{opacity:1!important}.typo-project-bg img{filter:none!important}.project-demo-link{opacity:1!important;transform:none!important}}.experience{padding:var(--space-24) 0}.experience-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-auto-rows:minmax(160px,auto);grid-template-areas:"header e2" "e1 e1" "e3 e4";grid-template-columns:repeat(2,1fr)}.exp-header{align-items:flex-start;grid-area:header;justify-content:center;padding-bottom:var(--space-4)}.e1{grid-area:e1}.e2{grid-area:e2}.e3{grid-area:e3}.e4{grid-area:e4}.exp-card{display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden;padding:var(--space-6) var(--space-6) var(--space-6) var(--space-8);position:relative}.exp-stripe{background:var(--accent);background:var(--stripe-color,var(--accent));border-radius:0 4px 4px 0;box-shadow:2px 0 12px var(--stripe-color);height:100%;left:0;opacity:.8;position:absolute;top:0;width:4px}.exp-top{align-items:center;display:flex;justify-content:space-between}.exp-badge{border:1px solid;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:.3rem .8rem;text-transform:uppercase}.exp-badge[data-type=education]{background:#8b5cf61a;color:var(--accent)}.exp-badge[data-type=organization]{background:#9370db1a;color:#b794f6}.exp-badge[data-type=experience]{background:#34d3991a;color:var(--success)}.exp-badge[data-type=achievement]{background:#fbbf241a;color:var(--warning)}.exp-content{align-items:flex-end;display:flex;flex:1 1;flex-direction:row;gap:var(--space-4);justify-content:space-between}.exp-text-heavy{flex:1 1;position:relative;z-index:2}.massive-exp-title{word-wrap:break-word;color:#fff;font-family:var(--font-display);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-2);overflow-wrap:break-word;text-transform:uppercase}.e1 .massive-exp-title{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05}.exp-icon-abs{flex-shrink:0;height:54px;opacity:.9;position:relative;transition:all var(--dur-normal);width:54px}.exp-card:hover .exp-icon-abs{opacity:1;transform:scale(1.1) rotate(5deg)}.exp-icon-abs img{height:100%;object-fit:contain;width:100%}.exp-sub{color:var(--text-accent);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;margin-bottom:var(--space-3);text-transform:uppercase}.exp-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.6}@media (max-width:1024px){.experience-grid{grid-template-areas:"header e2" "e1 e1" "e3 e4";grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.experience-grid{gap:var(--space-2);grid-template-areas:"header" "e1" "e2" "e3" "e4";grid-template-columns:1fr}.exp-card{padding:var(--space-4)}.massive-exp-title{font-size:1.1rem;letter-spacing:-.01em;line-height:1.2;word-break:break-word}.exp-sub{font-size:.7rem;margin-bottom:var(--space-1)}.exp-desc{font-size:.75rem;line-height:1.4}.exp-icon-abs{height:40px;width:40px}.exp-badge{font-size:.55rem;padding:.15rem .4rem}.exp-top{margin-bottom:var(--space-2)}}.contact{padding:var(--space-24) 0}.contact-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-areas:"header header form form" "info info form form";grid-template-columns:repeat(4,1fr)}.contact-header{grid-area:header;justify-content:center;padding-bottom:var(--space-4)}.contact-info{grid-area:info}.contact-form{grid-area:form}.contact-info{display:flex;flex-direction:column;gap:var(--space-6)}.contact-info h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.contact-info-sub{color:var(--text-secondary);font-size:.85rem;margin-top:-.5rem}.contact-links{display:flex;flex-direction:column;gap:var(--space-3)}.contact-link{align-items:center;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4);transition:all var(--dur-fast) var(--ease-out)}.contact-link:hover{background:#8b5cf60d;border-color:var(--border-accent)}.contact-link-icon{border-radius:var(--radius-sm);flex-shrink:0;height:36px;overflow:hidden;width:36px}.contact-link-icon img{height:100%;object-fit:contain;width:100%}.contact-link h4{font-size:.85rem;font-weight:600;margin-bottom:2px}.contact-link p{color:var(--text-secondary);font-size:.78rem}.contact-form h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-6)}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-group label{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.form-group input,.form-group textarea{background:hsla(0,0%,100%,.025);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.88rem;outline:none;padding:.75rem 1rem;transition:all var(--dur-fast) var(--ease-out)}.form-group input:focus,.form-group textarea:focus{background:#8b5cf60a;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf614}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group textarea{min-height:140px;resize:vertical}.form-submit{display:flex;justify-content:flex-end}@media (max-width:1024px){.contact-grid{grid-template-areas:"header header" "info info" "form form";grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.contact-grid{gap:var(--space-3);grid-template-areas:"header header" "info info" "form form";grid-template-columns:repeat(2,1fr)}.contact-form-card,.contact-header,.contact-info{padding:var(--space-4)}.form-row{gap:var(--space-3);grid-template-columns:1fr}.contact-info-list{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.contact-link{flex-direction:column;justify-content:center;padding:var(--space-2);text-align:center}.contact-link .icon-wrap{height:32px;margin:0 auto var(--space-2);padding:6px;width:32px}.contact-link h4{font-size:.8rem}.contact-link span{font-size:.7rem}}.footer{border-top:1px solid var(--border-subtle);padding:var(--space-12) 0 var(--space-8)}.footer-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-8)}.footer-brand h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:var(--space-1)}.footer-brand p{color:var(--text-secondary);font-size:.82rem}.footer-nav{display:flex;gap:var(--space-4)}.footer-nav a{color:var(--text-secondary);font-size:.82rem;transition:color var(--dur-fast)}.footer-nav a:hover{color:var(--text-primary)}.footer-divider{background:var(--border-subtle);height:1px;margin-bottom:var(--space-6);width:100%}.footer-bottom{align-items:center;display:flex;justify-content:space-between}.footer-bottom p{color:var(--text-tertiary);font-size:.78rem}.footer-socials{display:flex;gap:var(--space-3)}.footer-socials a{align-items:center;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);display:flex;font-size:.72rem;font-weight:600;height:34px;justify-content:center;transition:all var(--dur-fast);width:34px}.footer-socials a:hover{background:var(--bg-glass-strong);border-color:var(--border-accent);color:var(--text-primary)}@media (max-width:640px){.footer-top{flex-direction:column;gap:var(--space-6)}.footer-nav{flex-wrap:wrap;gap:var(--space-3)}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}}.floating-contact-container{bottom:24px;position:fixed;right:24px;z-index:1000}.floating-contact-btn{align-items:center;background:var(--accent-gradient);border:none;border-radius:var(--radius-full);box-shadow:0 4px 20px var(--glow-color);cursor:pointer;display:flex;height:56px;justify-content:center;position:relative;transition:all var(--dur-normal) var(--ease-out);width:56px;z-index:2}.floating-contact-btn:hover{box-shadow:0 6px 28px var(--glow-color);transform:scale(1.05)}.floating-contact-btn.open{box-shadow:0 6px 28px var(--glow-color);transform:rotate(45deg)}.floating-contact-btn .contact-btn-icon{color:#fff;font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1}.contact-options{bottom:72px;display:flex;flex-direction:column;gap:var(--space-2);position:absolute;right:0}.contact-option{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:.6rem 1rem;text-decoration:none;white-space:nowrap}.contact-option:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateX(-4px)}.option-icon{border-radius:var(--radius-sm);flex-shrink:0;height:28px;overflow:hidden;width:28px}.option-icon img{height:100%;object-fit:contain;width:100%}.option-info{display:flex;flex-direction:column}.option-platform{color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;font-weight:600}.option-username{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.7rem}:root{--bg-base:#050505;--bg-elevated:#0a0a0a;--bg-card:hsla(0,0%,100%,.015);--bg-card-hover:hsla(0,0%,100%,.035);--bg-glass:#12121659;--bg-glass-strong:#ffffff0f;--border-subtle:#ffffff14;--border-hover:#ffffff26;--border-accent:#8b5cf666;--border-glow:#8b5cf633;--text-primary:#f8f8f8;--text-secondary:#f8f8f8a6;--text-tertiary:#f8f8f859;--text-accent:#b794f6;--accent:#a78bfa;--accent-2:#818cf8;--accent-gradient:linear-gradient(135deg,#c4b5fd,#a78bfa,#818cf8);--glow-color:#a78bfa33;--success:#34d399;--warning:#fbbf24;--font-display:"Clash Display",sans-serif;--font-body:"Space Grotesk",sans-serif;--font-mono:"JetBrains Mono",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:9999px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:150ms;--dur-normal:300ms;--dur-slow:600ms}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:80px}body,html{max-width:100vw;overflow-x:hidden;position:relative}body{background:#050505;background:var(--bg-base);color:#f8f8f8;color:var(--text-primary);font-family:Space Grotesk,sans-serif;font-family:var(--font-body);line-height:1.6;width:100%}#root{overflow-x:hidden;width:100%}*{word-wrap:break-word;max-width:100vw;overflow-wrap:break-word}body.modal-open{overflow:hidden}::selection{background:#8b5cf659;color:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{background:none;border:none;color:inherit;cursor:pointer}button,input,textarea{font-family:inherit}ol,ul{list-style:none}.scroll-progress{background:linear-gradient(135deg,#c4b5fd,#a78bfa,#818cf8);background:var(--accent-gradient);height:2px;left:0;position:fixed;top:0;transition:width 80ms linear;z-index:9999}.App{min-height:100vh;position:relative}.App>:not(div[style*=fixed]):not(.floating-contact-container){position:relative;z-index:1}.container{margin:0 auto;max-width:1200px;padding:0 2rem;padding:0 var(--space-8)}@media (max-width:640px){.container{padding:0 1rem;padding:0 var(--space-4)}}section{padding:6rem 0;padding:var(--space-24) 0;position:relative}@media (max-width:640px){section{padding:4rem 0;padding:var(--space-16) 0}}.section-label{align-items:center;color:#b794f6;color:var(--text-accent);display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:.72rem;font-weight:500;gap:.75rem;gap:var(--space-3);letter-spacing:.15em;margin-bottom:1rem;margin-bottom:var(--space-4);text-transform:uppercase}.section-label:before{background:#a78bfa;background:var(--accent);content:"";height:1px;width:24px}.section-heading{font-family:Clash Display,sans-serif;font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-bottom:1rem;margin-bottom:var(--space-4)}.section-desc{color:#f8f8f8a6;color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-bottom:2.5rem;margin-bottom:var(--space-10);max-width:520px}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#c4b5fd,#a78bfa,#818cf8);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text}.bento-card{backdrop-filter:blur(40px) saturate(1.2);-webkit-backdrop-filter:blur(40px) saturate(1.2);background:#0a081473;border-left:1px solid #ffffff1a;border-top:1px solid #ffffff1a;border-color:#fff3 #ffffff1a #ffffff1a #ffffff26;border-radius:36px;border-radius:var(--radius-2xl);border-style:solid;border-width:1px;box-shadow:0 8px 32px 0 #00000080;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;padding:var(--space-6);position:relative;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1);transition:transform var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.bento-card.section-header-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:none;box-shadow:none;justify-content:flex-start;padding:0}.bento-card.section-header-card:after,.bento-card.section-header-card:before{display:none}.bento-card:not(.section-header-card):before{background:radial-gradient(800px circle at 50% 50%,#8b5cf614,#0000 40%);background:radial-gradient(800px circle at var(--mouse-x,50%) var(--mouse-y,50%),#8b5cf614,#0000 40%);border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s cubic-bezier(.22,1,.36,1);transition:opacity var(--dur-normal) var(--ease-out);z-index:1}.bento-card:not(.section-header-card):hover:before{opacity:1}.bento-card:not(.section-header-card):hover{border-color:#ffffff26;border-color:var(--border-hover);box-shadow:0 0 50px -12px #a78bfa33;box-shadow:0 0 50px -12px var(--glow-color)}.bento-card>*{position:relative;z-index:2}.btn{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-family:Space Grotesk,sans-serif;font-family:var(--font-body);font-size:.85rem;font-weight:500;gap:.5rem;gap:var(--space-2);padding:.65rem 1.5rem;transition:all .3s cubic-bezier(.22,1,.36,1);transition:all var(--dur-normal) var(--ease-out);white-space:nowrap}.btn.primary{background:linear-gradient(135deg,#c4b5fd,#a78bfa,#818cf8);background:var(--accent-gradient);color:#fff}.btn.primary:hover{box-shadow:0 0 30px #8b5cf659;transform:translateY(-1px)}.btn.secondary{background:#0000;border:1px solid #ffffff14;border:1px solid var(--border-subtle);color:#f8f8f8;color:var(--text-primary)}.btn.secondary:hover{background:#ffffff0a;border-color:#ffffff26;border-color:var(--border-hover)}.btn .arrow{transition:transform .15s cubic-bezier(.22,1,.36,1);transition:transform var(--dur-fast) var(--ease-out)}.btn:hover .arrow{transform:translateX(3px)}.tag{align-items:center;background:#8b5cf614;border:1px solid #8b5cf61f;border-radius:9999px;border-radius:var(--radius-full);color:#b794f6;color:var(--text-accent);display:inline-flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:.68rem;font-weight:500;gap:.25rem;gap:var(--space-1);padding:.2rem .6rem}.status-dot{animation:pulse-dot 2s ease-in-out infinite;background:#34d399;background:var(--success);border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 #34d39966}50%{box-shadow:0 0 0 6px #34d39900}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#050505;background:var(--bg-base)}::-webkit-scrollbar-thumb{background:#8b5cf633;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#8b5cf666}
/*# sourceMappingURL=main.ce76f3c5.css.map*/