.social-link-web.svelte-rfuq4y{color:#6ecbff;background:#6ecbff0d;border:1px solid #6ecbff1a;border-radius:.5rem;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;transition:all .2s;display:flex}.social-link-web.svelte-rfuq4y:hover{background:#6ecbff26;border-color:#6ecbff;transform:translateY(-2px)}.mobile-social-link.svelte-rfuq4y{color:#3ab7ff;background:#6ecbff0a;border:1px solid #6ecbff26;border-radius:.75rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-family:Syne,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:flex}.mobile-social-link.svelte-rfuq4y:hover{color:#fff;background:#6ecbff1f;border-color:#3ab7ff}.mobile-social-link.svelte-rfuq4y svg{flex-shrink:0;width:1.2rem!important;height:1.2rem!important}.blob.svelte-1q37ri0{z-index:0;pointer-events:none!important}.actions.svelte-1q37ri0{z-index:50;position:relative}.btn-primary.svelte-1q37ri0,.btn-outline.svelte-1q37ri0{cursor:pointer;touch-action:manipulation}@keyframes svelte-7hpc9t-gp1{0%,to{border-color:#6ecbff26;box-shadow:0 0 6px #6ecbff14}50%{border-color:#6ecbffb3;box-shadow:0 0 16px #6ecbff66,0 0 32px #3ab7ff33}}@keyframes svelte-7hpc9t-gp2{0%,to{border-color:#3ab7ff1a;box-shadow:0 0 4px #3ab7ff0f}50%{border-color:#3ab7ff8c;box-shadow:0 0 18px #3ab7ff59,0 0 36px #6ecbff26}}@keyframes svelte-7hpc9t-gpm{0%,to{box-shadow:none}50%{box-shadow:0 0 18px #6ecbff4d,0 0 36px #3ab7ff1f}}.img-wrapper.svelte-7hpc9t{width:12rem;height:12rem;position:relative}.border-line-1.svelte-7hpc9t{pointer-events:none;z-index:0;border:1px solid #6ecbff26;border-radius:1rem;animation:3s ease-in-out infinite svelte-7hpc9t-gp1;position:absolute;inset:0;transform:rotate(3deg)scale(1.05)}.border-line-2.svelte-7hpc9t{pointer-events:none;z-index:0;border:1px solid #3ab7ff1a;border-radius:1rem;animation:3s ease-in-out 1.5s infinite svelte-7hpc9t-gp2;position:absolute;inset:0;transform:rotate(-2deg)scale(1.1)}.img-inner.svelte-7hpc9t{z-index:1;background:#111118;border:1px solid #6ecbff33;border-radius:1rem;width:100%;height:100%;animation:3s ease-in-out infinite svelte-7hpc9t-gpm;position:relative;overflow:hidden}.chip.svelte-7hpc9t{color:#a3e0ff;background:#111118;border:1px solid #ffffff0f;border-radius:9999px;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:.76rem;transition:border-color .2s,background .2s;display:inline-flex}.chip.svelte-7hpc9t:hover{background:#6ecbff0d;border-color:#6ecbff4d}.chip.svelte-7hpc9t i:where(.svelte-7hpc9t){font-size:.95rem;line-height:1}.slabel.svelte-7hpc9t{color:#6ecbff;margin-top:1.75rem;margin-bottom:.65rem;font-family:JetBrains Mono,monospace;font-size:.72rem}.slabel.svelte-7hpc9t:first-child{margin-top:0}.tl-item.svelte-7hpc9t{gap:.85rem;margin-bottom:1rem;display:flex}.tl-year.svelte-7hpc9t{color:#6ecbff;min-width:3.25rem;padding-top:.1rem;font-family:JetBrains Mono,monospace;font-size:.68rem}.tl-name.svelte-7hpc9t{color:#a3e0ff;font-family:Syne,sans-serif;font-size:.83rem;font-weight:700}.tl-sub.svelte-7hpc9t{color:#5c7b99;margin-top:.08rem;font-size:.72rem}.ex-role.svelte-7hpc9t{color:#a3e0ff;font-family:Syne,sans-serif;font-size:.83rem;font-weight:700}.ex-period.svelte-7hpc9t{color:#6ecbff;margin-bottom:.15rem;font-family:JetBrains Mono,monospace;font-size:.62rem}.ex-desc.svelte-7hpc9t{color:#5c7b99;font-size:.76rem;line-height:1.55}.crow.svelte-7hpc9t{color:#5c7b99;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.78rem;display:flex}.crow.svelte-7hpc9t span:where(.svelte-7hpc9t){color:#6ecbff;font-size:.82rem}.stack-card.svelte-1a5d23v{background:#0d1117;border:1px solid #ffffff0f;border-radius:.875rem;align-items:center;gap:.875rem;padding:.9rem 1.1rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.stack-card.svelte-1a5d23v:hover{border-color:#6ecbff47;transform:translateY(-2px);box-shadow:0 6px 24px #00000040}.stack-icon.svelte-1a5d23v{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.stack-icon.svelte-1a5d23v i:where(.svelte-1a5d23v){font-size:1.35rem;line-height:1}.stack-info.svelte-1a5d23v{flex:1;min-width:0}.stack-name.svelte-1a5d23v{color:#a3e0ff;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-family:Syne,sans-serif;font-size:.84rem;font-weight:700;display:flex}.stack-lbl.svelte-1a5d23v{color:#5c7b99;font-family:JetBrains Mono,monospace;font-size:.58rem}.bar-track.svelte-1a5d23v{background:#ffffff0d;border-radius:9999px;width:100%;height:3px;overflow:hidden}.bar-fill.svelte-1a5d23v{border-radius:9999px;width:0%;height:100%;transition:width 1s cubic-bezier(.16,1,.3,1)}.cat-label.svelte-1a5d23v{color:#6ecbff;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.type-badge.svelte-1tes396{color:#3ab7ff;background:#3ab7ff14;border:1px solid #3ab7ff66;border-radius:9999px;padding:.18rem .55rem;font-family:JetBrains Mono,monospace;font-size:.62rem}.proj-grid.svelte-1tes396{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=768px){.proj-grid.svelte-1tes396{grid-template-columns:1fr}}.contact-wrapper.svelte-wt4tt0{animation:.6s cubic-bezier(.2,.8,.2,1) forwards svelte-wt4tt0-fadeInScale}@keyframes svelte-wt4tt0-fadeInScale{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact-card.svelte-wt4tt0{background:#16161f;border:1px solid #6ecbff26;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;text-decoration:none;transition:all .2s;display:flex}.contact-card.svelte-wt4tt0:hover{background:#6ecbff14;border-color:#3ab7ff;transform:translateY(-4px)}.card-name.svelte-wt4tt0{color:#a3e0ff;font-family:Syne,sans-serif;font-size:.9rem;font-weight:600}.card-handle.svelte-wt4tt0{color:#5c7b99;font-family:JetBrains Mono,monospace;font-size:.7rem}main.svelte-1uha8ag{min-height:calc(100vh - 80px);padding-top:80px}.mobile-stack.svelte-1uha8ag{flex-direction:column;gap:2rem;display:flex}.content-wrapper.svelte-1uha8ag{animation:.4s ease-out forwards svelte-1uha8ag-fadeIn}@keyframes svelte-1uha8ag-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
