.wrap:where(.astro-su7n3z4z){max-width:64rem;margin:clamp(1rem,3vw,2rem) auto 0}.me:where(.astro-su7n3z4z){isolation:isolate;border:1px solid var(--lx-border);background:radial-gradient(60% 80% at 100% 0%, var(--lx-glow), transparent 70%), linear-gradient(180deg, var(--lx-surface-2), var(--lx-surface));border-radius:1.5rem;grid-template-columns:minmax(0,23rem) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,4vw,2.5rem);display:grid;position:relative;overflow:hidden}.aura:where(.astro-su7n3z4z){z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.aura:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z){filter:blur(80px);opacity:.55;border-radius:50%;width:26rem;height:26rem;position:absolute}.aura:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):first-child{inset-inline-end:-8rem;background:var(--lx-accent);opacity:.22;top:-10rem}.aura:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):nth-child(2){inset-inline-start:-10rem;background:var(--lx-accent-3);opacity:.2;bottom:-12rem}.aura:where(.astro-su7n3z4z) .grid:where(.astro-su7n3z4z){background-image:linear-gradient(var(--lx-grid) 1px, transparent 1px), linear-gradient(90deg, var(--lx-grid) 1px, transparent 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 70% 20%,#000 10%,#0000 75%);mask-image:radial-gradient(70% 70% at 70% 20%,#000 10%,#0000 75%)}.photo:where(.astro-su7n3z4z){top:calc(var(--sl-nav-height) + 1.5rem);position:sticky}figure:where(.astro-su7n3z4z){isolation:isolate;box-shadow:0 40px 80px -30px var(--lx-glow), 0 0 0 1px var(--lx-border);border-radius:1.4rem;margin:0;padding:3px;position:relative;overflow:hidden}figure:where(.astro-su7n3z4z):before{content:"";z-index:-1;background:conic-gradient(from 0deg, var(--lx-accent), var(--lx-accent-2), var(--lx-accent-3), transparent 60%, var(--lx-accent));position:absolute;inset:-50%}figure:where(.astro-su7n3z4z) img{aspect-ratio:4/5;object-fit:cover;border-radius:calc(1.4rem - 3px);width:100%;height:auto;display:block}.caret:where(.astro-su7n3z4z){vertical-align:-.12em;background:var(--lx-accent);width:.5em;height:1em;margin-inline-start:.15em;display:inline-block}.role:where(.astro-su7n3z4z){border:1px solid var(--lx-border-strong);color:var(--sl-color-gray-2);background:color-mix(in srgb, var(--lx-surface) 70%, transparent);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.role:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z){background:var(--lx-accent);width:.5rem;height:.5rem;box-shadow:0 0 10px var(--lx-accent);border-radius:50%}.role:where(.astro-su7n3z4z) .sep:where(.astro-su7n3z4z){background:var(--lx-border-strong);width:1px;height:.9rem}.role:where(.astro-su7n3z4z) .lx-ltr:where(.astro-su7n3z4z){color:var(--sl-color-gray-3);font-weight:500}.name:where(.astro-su7n3z4z){border:0;flex-direction:column;gap:.25rem;margin:1rem 0 1.25rem;padding:0;display:flex}.name:where(.astro-su7n3z4z) .fa:where(.astro-su7n3z4z){color:var(--sl-color-white);font-size:clamp(2rem,5vw,2.8rem);font-weight:900;line-height:1.3}.name:where(.astro-su7n3z4z) .en:where(.astro-su7n3z4z){font:700 clamp(1.1rem, 2.6vw, 1.4rem)/1.4 var(--sl-font-mono);background:var(--lx-grad);color:#0000;-webkit-background-clip:text;background-clip:text;align-self:flex-start;align-items:center;display:inline-flex}.lead:where(.astro-su7n3z4z){border-inline-start:3px solid var(--lx-accent);color:var(--sl-color-white);margin:0 0 1.25rem;padding-inline-start:1rem;font-size:clamp(1.1rem,2.4vw,1.3rem);font-weight:700;line-height:1.9;position:relative}.bio:where(.astro-su7n3z4z){color:var(--sl-color-gray-2);margin:0 0 1rem;font-size:1.05rem;line-height:2.1}.skills:where(.astro-su7n3z4z) h3:where(.astro-su7n3z4z){color:var(--sl-color-gray-3);margin:.5rem 0;font-size:1rem}.skills:where(.astro-su7n3z4z) ul:where(.astro-su7n3z4z){flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.skills:where(.astro-su7n3z4z) li:where(.astro-su7n3z4z){border:1px solid var(--lx-border-strong);background:var(--lx-surface);color:var(--sl-color-gray-1);border-radius:999px;padding:.25rem .85rem;font-size:.9rem}.cta-row:where(.astro-su7n3z4z){flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.btn:where(.astro-su7n3z4z){min-height:2.9rem;color:var(--sl-color-white);border:1px solid var(--lx-border-strong);background:var(--lx-surface);border-radius:.8rem;align-items:center;padding:0 1.3rem;font-weight:700;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.btn:where(.astro-su7n3z4z):hover{border-color:var(--lx-accent);transform:translateY(-2px)}.btn:where(.astro-su7n3z4z).primary{background:var(--lx-grad);color:var(--lx-bg);border-color:#0000}.whoami:where(.astro-su7n3z4z){border:1px solid var(--lx-border-strong);box-shadow:0 30px 80px -40px #000000b3, 0 0 60px -30px var(--lx-glow);text-align:left;background:#0a0e12;border-radius:1.1rem;margin-top:1.5rem;overflow:hidden}.whoami:where(.astro-su7n3z4z) .bar:where(.astro-su7n3z4z){background:#11171d;border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.dots:where(.astro-su7n3z4z){gap:.45rem;display:inline-flex}.dots:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z){background:#ff5f57;border-radius:50%;width:.7rem;height:.7rem}.dots:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):nth-child(2){background:#febc2e}.dots:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):nth-child(3){background:#28c840}.whoami:where(.astro-su7n3z4z) .title:where(.astro-su7n3z4z){font:.75rem var(--sl-font-mono);color:#7d8a96}.whoami:where(.astro-su7n3z4z) .body:where(.astro-su7n3z4z){font:.9rem/1.9 var(--sl-font-mono);color:#f4f7f9;padding:1rem 1.25rem 1.2rem}.whoami:where(.astro-su7n3z4z) .l:where(.astro-su7n3z4z){overflow-wrap:anywhere;margin:0}.whoami:where(.astro-su7n3z4z) .p:where(.astro-su7n3z4z){color:#2dffc0;user-select:none}.whoami:where(.astro-su7n3z4z) .o:where(.astro-su7n3z4z){color:#8794a0}.whoami:where(.astro-su7n3z4z) .st:where(.astro-su7n3z4z),.whoami:where(.astro-su7n3z4z) .links:where(.astro-su7n3z4z){flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.whoami:where(.astro-su7n3z4z) .st:where(.astro-su7n3z4z) b:where(.astro-su7n3z4z){color:#2dffc0;font-weight:700}.whoami:where(.astro-su7n3z4z) .links:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z){color:#9fdcff;text-decoration:none}.whoami:where(.astro-su7n3z4z) .links:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover{text-decoration:underline}.whoami:where(.astro-su7n3z4z) .caret:where(.astro-su7n3z4z){background:#2dffc0}@media (prefers-reduced-motion:no-preference){figure:where(.astro-su7n3z4z):before{animation:7s linear infinite lx-spin}@keyframes lx-spin{to{transform:rotate(1turn)}}.aura:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):first-child{animation:14s ease-in-out infinite alternate lx-float}.aura:where(.astro-su7n3z4z) i:where(.astro-su7n3z4z):nth-child(2){animation:18s ease-in-out infinite alternate-reverse lx-float}@keyframes lx-float{to{transform:translate(-3rem,2.5rem)scale(1.1)}}.caret:where(.astro-su7n3z4z){animation:1.1s step-end infinite lx-blink}@keyframes lx-blink{50%{opacity:0}}.whoami:where(.astro-su7n3z4z) .l:where(.astro-su7n3z4z){opacity:0;animation:.35s ease-out forwards lx-line;animation-delay:calc(.3s + var(--i) * .28s);transform:translateY(4px)}@keyframes lx-line{to{opacity:1;transform:none}}}section:where(.astro-su7n3z4z){border:1px solid var(--lx-border);background:var(--lx-surface);scroll-margin-top:calc(var(--sl-nav-height) + 1rem);border-radius:1.25rem;margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem)}.wrap:where(.astro-su7n3z4z) section:where(.astro-su7n3z4z) h2:where(.astro-su7n3z4z){color:var(--sl-color-white);border:0;margin:0;padding:0;font-size:1.3rem;font-weight:800}section:where(.astro-su7n3z4z) ul:where(.astro-su7n3z4z){grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.ic:where(.astro-su7n3z4z){background:var(--sl-color-accent-low);border:1px solid var(--lx-border);width:2.75rem;height:2.75rem;color:var(--lx-accent);border-radius:.8rem;flex:none;place-items:center;display:grid}.ic:where(.astro-su7n3z4z) svg:where(.astro-su7n3z4z){fill:currentColor;width:1.35rem;height:1.35rem}.ic:where(.astro-su7n3z4z) svg:where(.astro-su7n3z4z).stroke{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.t:where(.astro-su7n3z4z){flex-direction:column;gap:.1rem;min-width:0;display:flex}.t:where(.astro-su7n3z4z) strong:where(.astro-su7n3z4z){color:var(--sl-color-white);font-size:1rem}.t:where(.astro-su7n3z4z)>span:where(.astro-su7n3z4z){color:var(--sl-color-gray-3);font-size:.88rem}.c:where(.astro-su7n3z4z){position:relative}.c:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z),.courses:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z){border:1px solid var(--lx-border);background:var(--lx-surface-2);border-radius:.95rem;align-items:center;gap:.85rem;height:100%;min-height:4.25rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.c:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover,.courses:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover{border-color:var(--lx-accent);transform:translateY(-2px)}.c:where(.astro-su7n3z4z) .h:where(.astro-su7n3z4z){font:500 .85rem/1.5 var(--sl-font-mono);overflow-wrap:anywhere;align-self:flex-start}.go:where(.astro-su7n3z4z){color:var(--sl-color-gray-4);margin-inline-start:auto;transition:color .2s}.c:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover .go:where(.astro-su7n3z4z){color:var(--lx-accent)}.c:where(.astro-su7n3z4z).email a:where(.astro-su7n3z4z){padding-inline-end:5rem}.c:where(.astro-su7n3z4z).email{grid-column:1/-1}.copy:where(.astro-su7n3z4z){inset-inline-end:.75rem;border:1px solid var(--lx-border-strong);background:var(--lx-surface);min-height:2.25rem;color:var(--sl-color-gray-2);font:inherit;cursor:pointer;border-radius:.6rem;padding:0 .8rem;font-size:.85rem;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.copy:where(.astro-su7n3z4z):hover,.copy:where(.astro-su7n3z4z)[data-done]{color:var(--lx-accent);border-color:var(--lx-accent)}.loopx:where(.astro-su7n3z4z) .head:where(.astro-su7n3z4z){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.loopx:where(.astro-su7n3z4z) .head:where(.astro-su7n3z4z)>div:where(.astro-su7n3z4z){flex:20rem}.loopx:where(.astro-su7n3z4z) h2:where(.astro-su7n3z4z){font-family:var(--sl-font-mono)}.loopx:where(.astro-su7n3z4z) p:where(.astro-su7n3z4z){color:var(--sl-color-gray-2);margin:.5rem 0 0;line-height:2}.loopx:where(.astro-su7n3z4z) dl:where(.astro-su7n3z4z){gap:1.5rem;margin:0;display:flex}.loopx:where(.astro-su7n3z4z) dl:where(.astro-su7n3z4z) div:where(.astro-su7n3z4z){flex-direction:column-reverse;align-items:center;display:flex}.loopx:where(.astro-su7n3z4z) dt:where(.astro-su7n3z4z){color:var(--sl-color-gray-3);font-size:.85rem}.loopx:where(.astro-su7n3z4z) dd:where(.astro-su7n3z4z){background:var(--lx-grad);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8rem;font-weight:900}.courses:where(.astro-su7n3z4z){grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr))}.cta:where(.astro-su7n3z4z){flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;display:flex}.cta:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z){min-height:2.75rem;color:var(--lx-accent);align-items:center;gap:.35rem;font-weight:700;text-decoration:none;display:inline-flex}.cta:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover{text-decoration:underline}@media (width<=50rem){.me:where(.astro-su7n3z4z){grid-template-columns:1fr}.photo:where(.astro-su7n3z4z){width:100%;max-width:18rem;margin-inline:auto;position:static}}@media (prefers-reduced-motion:reduce){.btn:where(.astro-su7n3z4z),.c:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z),.courses:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z),.go:where(.astro-su7n3z4z){transition:none}.btn:where(.astro-su7n3z4z):hover,.c:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover,.courses:where(.astro-su7n3z4z) a:where(.astro-su7n3z4z):hover{transform:none}}
