.clean-theme{--clean-text:#1a1a1a;--clean-text-muted:#999;--clean-text-secondary:#555;--clean-border:#d4d4d4;--clean-skill-bg:#f5f5f5;min-height:100dvh;color:var(--clean-text);-webkit-font-smoothing:antialiased;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.clean-theme-content{max-width:640px;margin:0 auto;padding:64px 20px 80px}.clean-header{align-items:flex-start;gap:24px;display:flex}.clean-avatar{flex-shrink:0}.clean-avatar-img{object-fit:cover;border-radius:50%;width:96px;height:96px}.clean-header-info{padding-top:6px}.clean-name{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:600;line-height:1.2}.clean-headline{color:var(--clean-text-secondary);margin:4px 0 0;font-size:16px}.clean-website-pill{color:var(--clean-text);border:1px solid var(--clean-border);border-radius:9999px;margin-top:12px;padding:5px 14px;font-size:13px;text-decoration:none;transition:background .15s;display:inline-block}.clean-website-pill:hover{background:var(--clean-skill-bg)}.clean-section{margin-top:48px}.clean-section-title{letter-spacing:-.01em;margin:0 0 20px;font-size:18px;font-weight:500}.clean-items{flex-direction:column;gap:28px;display:flex}.clean-grid-row{grid-template-columns:160px 1fr;gap:0 48px;display:grid}.clean-date-col{color:var(--clean-text-muted);white-space:nowrap;padding-top:1px;font-size:15px}.clean-content-col{min-width:0}.clean-title-row{align-items:center;gap:4px;font-size:16px;display:inline-flex}.clean-arrow{opacity:.55;flex-shrink:0}.clean-location{color:var(--clean-text-secondary);margin-top:3px;font-size:15px}.clean-description{color:var(--clean-text-secondary);margin-top:8px;font-size:14px;line-height:1.65}.clean-description a{color:var(--clean-text);text-decoration:underline}.clean-description ul{padding-left:20px;list-style:outside}.clean-description ol{padding-left:20px;list-style:decimal}.clean-description li{margin:2px 0}.clean-about-text{color:var(--clean-text-secondary);font-size:16px;line-height:1.7}.clean-about-text a{color:var(--clean-text);text-decoration:underline}.clean-about-text ul{padding-left:20px;list-style:outside}.clean-about-text ol{padding-left:20px;list-style:decimal}.clean-about-text li{margin:4px 0}.clean-skills{flex-wrap:wrap;gap:8px;display:flex}.clean-skill-pill{background:var(--clean-skill-bg);border-radius:9999px;padding:5px 14px;font-size:13px;display:inline-block}.clean-contact-link{color:var(--clean-text);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.clean-contact-link:hover{text-decoration:underline}.clean-contact-value{font-weight:500}.clean-badge{z-index:50;opacity:.85;width:80px;height:80px;transition:opacity .15s;position:fixed;bottom:20px;right:20px}.clean-badge:hover{opacity:1}.clean-badge img{width:100%;height:100%}@container (max-width:640px){.clean-theme-content{padding:32px 20px 48px}.clean-header{flex-direction:column;gap:16px}.clean-avatar-img{width:80px;height:80px}.clean-name{font-size:24px}.clean-grid-row{grid-template-columns:1fr;gap:2px 0}.clean-date-col{font-size:13px}.clean-section{margin-top:36px}.clean-items{gap:24px}.clean-badge{width:32px;height:32px;bottom:16px;right:16px}}
@font-face{font-family:Luckiest Guy;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f0bbb000facee3e4-s.49ef8f1b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Luckiest Guy;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e58a1399fcbda48b-s.p.b95e05af.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Luckiest Guy Fallback;src:local(Arial);ascent-override:61.73%;descent-override:26.06%;line-gap-override:0.0%;size-adjust:113.91%}.luckiest_guy_a8886494-module__el-hIa__className{font-family:Luckiest Guy,Luckiest Guy Fallback;font-style:normal;font-weight:400}.luckiest_guy_a8886494-module__el-hIa__variable{--font-luckiest-guy:"Luckiest Guy","Luckiest Guy Fallback"}
@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.193567cf.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.7f2acc0f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.610fd2a3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.193567cf.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.7f2acc0f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.610fd2a3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.193567cf.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.7f2acc0f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.610fd2a3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.193567cf.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.7f2acc0f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.610fd2a3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.193567cf.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.7f2acc0f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.610fd2a3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.fredoka_d3b2445c-module__tAShRG__className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.fredoka_d3b2445c-module__tAShRG__variable{--font-fredoka:"Fredoka","Fredoka Fallback"}
.nonu-pink-theme{--nonu-pink:#fbbbbb;--nonu-cream:#fff9e5;--nonu-blue:#da7178;--nonu-yellow:#ffdc69;--nonu-text:#2d2d2d;background-color:var(--nonu-pink);font-family:var(--font-fredoka),"Fredoka",sans-serif;color:var(--nonu-text);-webkit-font-smoothing:antialiased;min-height:100dvh;padding:16px;font-size:16px;line-height:1.4;position:relative}.nonu-pink-theme ::selection{color:#2563eb;background:#ffdc69}.nonu-container{z-index:10;max-width:72rem;margin:0 auto;position:relative}.nonu-deco-star{opacity:.2;pointer-events:none;color:#fff;width:128px;height:128px;animation:12s linear infinite nonu-spin-slow;display:none;position:absolute;top:80px;left:40px}.nonu-deco-circle{opacity:.2;pointer-events:none;width:192px;height:192px;color:var(--nonu-blue);animation:4s ease-in-out infinite nonu-float;display:none;position:absolute;bottom:80px;right:40px}.nonu-header{margin-bottom:64px;position:relative}.nonu-header-inner{flex-direction:column;justify-content:space-between;align-items:center;gap:32px;display:flex}.nonu-name-wrap{position:relative}.nonu-name-star{color:#ffdc69;z-index:0;filter:drop-shadow(0 4px 3px #00000012);width:96px;height:96px;animation:12s linear infinite nonu-spin-slow;position:absolute;top:-48px;left:-48px}.nonu-name{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-cream);text-shadow:4px 4px 0px var(--nonu-blue);z-index:10;text-transform:uppercase;overflow-wrap:normal;word-break:normal;margin:0;line-height:.95;position:relative;overflow:visible;transform:rotate(-2deg)}.nonu-name-word{white-space:nowrap;font-size:clamp(2rem,10cqw,8rem);display:block}.nonu-name-wave{width:100%;height:32px;color:var(--nonu-blue);position:absolute;bottom:-24px;left:0}.nonu-name-wave svg{width:100%;height:100%}.nonu-avatar-outer{cursor:pointer;transition:transform .3s}.nonu-avatar-outer:hover{transform:scale(1.1)}.nonu-avatar-circle{background:var(--nonu-yellow);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;animation:4s ease-in-out infinite nonu-float;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.nonu-avatar-img{object-fit:cover;z-index:1;border-radius:50%;width:100%;height:100%;position:relative}.nonu-avatar-initials{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-blue);-webkit-user-select:none;user-select:none;z-index:1;font-size:2.5rem;position:relative}.nonu-rotating-text{z-index:2;animation:12s linear infinite nonu-spin-slow;position:absolute;inset:0}.nonu-rotating-text svg{width:100%;height:100%}.nonu-grid{grid-template-columns:1fr;gap:24px;display:grid}.nonu-about-cell,.nonu-skills-cell,.nonu-divider-cell,.nonu-experience-cell,.nonu-sidebar-cell,.nonu-contact-cell{grid-column:1/-1;padding:10px}.nonu-about-card{background:#fff;border:4px solid #fff;border-radius:2.5rem;flex-direction:column;justify-content:center;padding:32px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:relative;overflow:hidden;transform:rotate(1deg);box-shadow:8px 8px #00000026}.nonu-about-card:hover{transform:translate(-4px,-4px)rotate(-1deg);box-shadow:12px 12px #0000001a}.nonu-about-glow{background:var(--nonu-yellow);opacity:.5;filter:blur(40px);pointer-events:none;border-radius:50%;width:128px;height:128px;position:absolute;top:-40px;right:-40px}.nonu-about-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.nonu-location-badge{background:var(--nonu-blue);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:9999px;padding:6px 16px;font-size:.875rem;font-weight:700;display:inline-block;transform:rotate(-2deg)}.nonu-about-wave-emoji{font-size:1.875rem;animation:1s ease-in-out infinite nonu-bounce}.nonu-about-headline{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-blue);margin:0 0 24px;font-size:clamp(1.875rem,4cqw,3rem);line-height:1.25}.nonu-about-text{color:#374151;margin-bottom:24px;font-size:1.125rem;font-weight:500;line-height:1.625}.nonu-about-text p{margin:0 0 .5em}.nonu-about-text ul,.nonu-about-text ol{margin:.5em 0;padding-left:1.5em}.nonu-about-cta{flex-wrap:wrap;gap:12px;display:flex}.nonu-cta-primary{background:var(--nonu-text);color:#fff;border-radius:.75rem;align-items:center;gap:8px;padding:12px 24px;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-flex}.nonu-cta-primary:hover{background:var(--nonu-blue)}.nonu-skills-card{background:var(--nonu-cream);border:4px solid #fff;border-radius:2rem;flex-direction:column;height:100%;padding:32px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;transform:rotate(-2deg);box-shadow:8px 8px #00000026}.nonu-skills-card:hover{transform:translate(-4px,-4px)rotate(-1deg);box-shadow:12px 12px #0000001a}.nonu-skills-title{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-text);align-items:center;gap:8px;margin:0 0 24px;font-size:1.875rem;display:flex}.nonu-skills-title svg{color:var(--nonu-pink);flex-shrink:0}.nonu-skills-list{flex-wrap:wrap;align-content:flex-start;gap:12px;display:flex}.nonu-skill-pill{background:var(--pill-bg,white);color:var(--pill-color,#2d2d2d);border:2px solid var(--nonu-text);cursor:default;border-radius:9999px;padding:8px 16px;font-weight:700;transition:transform .15s,background-color .15s}.nonu-skill-pill:hover{background:var(--nonu-yellow);color:var(--nonu-text);transform:translateY(-4px)!important}.nonu-divider-cell{justify-content:center;align-items:center;padding:32px 0;display:flex}.nonu-wavy-divider{opacity:.5;background-image:url("data:image/svg+xml;utf8,%3Csvg width='40' height='12' viewBox='0 0 40 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 6 C 10 0, 10 12, 20 6 C 30 0, 30 12, 40 6' stroke='%23FFFFFF' fill='none' stroke-width='3'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:40px 12px;width:100%;height:12px}.nonu-section-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.nonu-section-title{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:#fff;text-shadow:2px 2px 0px var(--nonu-blue);white-space:nowrap;margin:0;font-size:2.25rem;transform:rotate(-1deg)}.nonu-section-line{background:#fff;border-radius:9999px;flex:1;height:4px}.nonu-experience-list{flex-direction:column;gap:32px;display:flex}.nonu-experience-card{border-bottom:8px solid var(--exp-color,var(--nonu-blue));border-right:8px solid var(--exp-color,var(--nonu-blue));background:#fff;border-radius:1.5rem;padding:24px;transition:transform .15s}.nonu-experience-card:hover{transform:translateY(-4px)}.nonu-exp-header{flex-direction:column;gap:16px;margin-bottom:16px;display:flex}.nonu-exp-title{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-text);margin:0;font-size:1.5rem;line-height:1.2}.nonu-exp-company{color:var(--exp-color,var(--nonu-blue));font-size:1.125rem;font-weight:700}.nonu-exp-date{background:var(--nonu-cream);border:2px solid var(--nonu-yellow);white-space:nowrap;border-radius:.75rem;align-self:flex-start;padding:8px 16px;font-family:monospace;font-size:.875rem;font-weight:700;transform:rotate(1deg)}.nonu-exp-description{color:#4b5563;margin-bottom:16px;font-weight:500;line-height:1.625}.nonu-exp-description p{margin:0 0 .5em}.nonu-exp-description ul,.nonu-exp-description ol{margin:.5em 0;padding-left:1.5em}.nonu-exp-tags{flex-wrap:wrap;gap:8px;display:flex}.nonu-exp-tag{color:#2563eb;background:#eff6ff;border-radius:.5rem;padding:4px 12px;font-size:.75rem;font-weight:700}.nonu-sidebar-title{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:#fff;text-shadow:2px 2px 0px var(--nonu-blue);margin:0 0 24px;font-size:1.875rem}.nonu-education-section{margin-bottom:32px}.nonu-education-list{flex-direction:column;gap:16px;display:flex}.nonu-education-card{background:var(--nonu-cream);border:4px solid var(--nonu-text);border-radius:1rem;padding:24px;transition:transform .15s}.nonu-education-card:hover{transform:rotate(0)!important}.nonu-edu-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.nonu-edu-school{margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.nonu-edu-header svg{flex-shrink:0}.nonu-edu-degree{margin:0 0 8px;font-size:.875rem;font-weight:700}.nonu-edu-date{color:#6b7280;margin:0 0 12px;font-family:monospace;font-size:.75rem}.nonu-edu-description{color:#374151;font-size:.875rem;line-height:1.5}.nonu-edu-description p{margin:0}.nonu-certs-section{position:relative}.nonu-certs-star{color:#ffdc69;animation:12s linear infinite nonu-spin-slow;position:absolute;top:-24px;right:-16px}.nonu-certs-list{flex-direction:column;gap:12px;display:flex}.nonu-cert-item{border-left:4px solid var(--nonu-blue);background:#fff;border-radius:.5rem;justify-content:space-between;align-items:center;gap:8px;padding:12px;transition:padding-left .15s;display:flex;box-shadow:0 1px 2px #0000000d}.nonu-cert-item:hover{padding-left:16px}.nonu-cert-name{margin:0;font-size:.875rem;font-weight:700}.nonu-cert-meta{color:#6b7280;margin:2px 0 0;font-size:.75rem}.nonu-cert-link{opacity:0;flex-shrink:0;transition:opacity .15s}.nonu-cert-item:hover .nonu-cert-link{opacity:1}.nonu-contact-cell{margin-top:48px;margin-bottom:48px}.nonu-contact-card{background:var(--nonu-blue);color:#fff;border-radius:3rem;padding:32px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;position:relative;overflow:hidden;transform:rotate(1deg);box-shadow:8px 8px #00000026}.nonu-contact-card:hover{transform:translate(-4px,-4px)rotate(-1deg);box-shadow:12px 12px #0000001a}.nonu-contact-dots{opacity:.1;pointer-events:none;background-image:radial-gradient(#fff 2px,#0000 2px);background-size:30px 30px;position:absolute;inset:0}.nonu-contact-inner{z-index:10;flex-direction:column;align-items:center;gap:48px;display:flex;position:relative}.nonu-contact-text{text-align:center;max-width:32rem}.nonu-contact-heading{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-cream);margin:0 0 16px;font-size:clamp(2.5rem,5cqw,3.75rem)}.nonu-contact-subtext{opacity:.9;margin:0;font-size:1.25rem;font-weight:500}.nonu-contact-links{grid-template-columns:1fr;gap:16px;width:100%;display:grid}.nonu-contact-link-card{color:var(--nonu-text);background:#fff;border-bottom:4px solid #000;border-radius:1rem;align-items:center;gap:12px;padding:16px;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s,transform .1s,border-bottom-width .1s;display:flex}.nonu-contact-link-card:hover{background:var(--hover-bg,var(--nonu-blue));color:var(--hover-text,white)}.nonu-contact-link-card:active{border-bottom-width:0;transform:translateY(4px)}.nonu-contact-link-icon{background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background-color .15s;display:flex}.nonu-contact-link-card:hover .nonu-contact-link-icon{background:#fff3}.nonu-contact-link-text{flex-direction:column;min-width:0;display:flex}.nonu-contact-link-label{text-transform:uppercase;letter-spacing:.05em;opacity:.6;font-size:.75rem}.nonu-contact-link-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nonu-contact-glow{opacity:.1;filter:blur(40px);pointer-events:none;background:#fff;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-40px;right:-40px}.nonu-footer{text-align:center;padding:16px 0 32px}.nonu-footer-text{font-family:var(--font-luckiest-guy),"Luckiest Guy",cursive;color:var(--nonu-cream);opacity:.8;justify-content:center;align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}.nonu-footer-heart{color:#ef4444;animation:2s ease-in-out infinite nonu-pulse}@keyframes nonu-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes nonu-spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes nonu-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes nonu-pulse{0%,to{opacity:1}50%{opacity:.5}}@container (min-width:768px){.nonu-pink-theme{padding:32px}.nonu-header-inner{flex-direction:row}.nonu-grid{grid-template-columns:repeat(12,1fr);gap:32px}.nonu-about-cell,.nonu-skills-cell,.nonu-cell-full{grid-column:1/-1}.nonu-experience-cell{grid-column:span 8}.nonu-sidebar-cell{grid-column:span 4}.nonu-divider-cell,.nonu-contact-cell{grid-column:1/-1}.nonu-about-card{padding:40px}.nonu-experience-card{padding:32px}.nonu-exp-header{flex-direction:row;justify-content:space-between;align-items:center}.nonu-contact-card{padding:48px}.nonu-contact-inner{flex-direction:row;justify-content:space-between;align-items:center}.nonu-contact-text{text-align:left}.nonu-contact-links{grid-template-columns:1fr 1fr;width:auto}}@container (min-width:1024px){.nonu-deco-star,.nonu-deco-circle{display:block}}@media (prefers-reduced-motion:reduce){.nonu-pink-theme *,.nonu-pink-theme :before,.nonu-pink-theme :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.e45fea2b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.20ecb425.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3b382e45.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.12167c5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.7a4e9fcc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.4adea45d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_68f74cde-module__d5EgSG__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_68f74cde-module__d5EgSG__variable{--font-space-mono:"Space Mono","Space Mono Fallback"}
.sys-black-theme{--sys-bg:#050505;--sys-text:#e5e5e5;--sys-dim:#6b7280;--sys-border:#262626;--sys-accent:#fff;--sys-surface:#080808;--sys-hover:#111;font-family:var(--font-space-mono),"Space Mono",monospace;background-color:var(--sys-bg);color:var(--sys-text);-webkit-font-smoothing:antialiased;flex-direction:column;height:100dvh;font-size:14px;line-height:1.5;display:flex;position:relative;overflow:hidden;container-type:inline-size}.sys-black-theme ::selection{color:#050505;background:#fff}.sys-scanlines{pointer-events:none;z-index:50;opacity:.6;background:linear-gradient(#fff0,#fff0 50%,#0000001a 50%,#0000001a) 0 0/100% 4px;position:absolute;inset:0}.sys-scrollbar::-webkit-scrollbar{width:6px;height:6px}.sys-scrollbar::-webkit-scrollbar-track{border-left:1px solid var(--sys-border);background:#0a0a0a}.sys-scrollbar::-webkit-scrollbar-thumb{background:#333}.sys-scrollbar::-webkit-scrollbar-thumb:hover{background:#555}.sys-content-area{flex:1;min-height:0;display:flex;overflow:hidden}.sys-sidebar{border-right:1px solid var(--sys-border);background-color:var(--sys-bg);z-index:10;flex-direction:column;flex-shrink:0;justify-content:space-between;width:340px;display:flex;overflow-y:auto}.sys-identity{border-bottom:1px solid var(--sys-border);padding:32px}.sys-label{color:var(--sys-dim);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;font-size:10px}.sys-name{letter-spacing:-.05em;cursor:default;margin-bottom:8px;font-size:clamp(24px,7cqw,30px);font-weight:700;line-height:1.1}.sys-name-word{display:block}.sys-headline{color:#9ca3af;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px;font-size:11px;font-weight:700;line-height:1.4}.sys-location-block{margin-top:24px}.sys-sublabel{color:#666;text-transform:uppercase;margin-bottom:4px;font-size:10px}.sys-location-value{font-size:14px}.sys-sidebar-body{flex:1;padding:32px}.sys-bio-section{margin-bottom:48px}.sys-section-label{color:#666;text-transform:uppercase;border-bottom:1px solid var(--sys-border);margin-bottom:12px;padding-bottom:4px;font-size:10px}.sys-bio-text{color:#d1d5db;font-size:14px;line-height:1.625}.sys-bio-text p{margin-bottom:.75rem}.sys-bio-text p:last-child{margin-bottom:0}.sys-contact-section{margin-bottom:32px}.sys-contact-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.sys-contact-item{flex-direction:column;display:flex}.sys-contact-type{color:var(--sys-dim);font-size:10px}.sys-contact-link{color:var(--sys-text);font-size:14px;text-decoration:none;transition:color .2s}.sys-contact-link:hover{color:#fff;text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.sys-status-box{border-top:1px solid var(--sys-border);padding:24px}.sys-status-card{cursor:pointer;border:1px solid #333;padding:16px;transition:border-color .3s;position:relative}.sys-status-card:hover{border-color:#fff}.sys-status-line-top{transform-origin:0;background:#fff;width:100%;height:1px;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleX(0)}.sys-status-card:hover .sys-status-line-top{transform:scaleX(1)}.sys-status-line-bottom{transform-origin:100%;background:#fff;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:0;right:0;transform:scaleX(0)}.sys-status-card:hover .sys-status-line-bottom{transform:scaleX(1)}.sys-status-label{margin-bottom:4px}.sys-status-card:hover .sys-status-label{color:#fff}.sys-status-value{margin-bottom:16px;font-size:14px;font-weight:700}.sys-download-btn{background:var(--sys-hover);width:100%;color:var(--sys-text);text-transform:uppercase;text-align:center;letter-spacing:.15em;cursor:pointer;border:1px solid #333;padding:12px;font-family:inherit;font-size:12px;text-decoration:none;transition:all .2s;display:block}.sys-download-btn:hover{color:#000;background:#fff}.sys-main{background-color:var(--sys-bg);flex:1;position:relative;overflow-y:auto}.sys-grid-bg{background-image:linear-gradient(var(--sys-border)1px,transparent 1px),linear-gradient(90deg,var(--sys-border)1px,transparent 1px);opacity:.2;pointer-events:none;background-size:20px 20px;position:absolute;inset:0}.sys-main-inner{z-index:10;max-width:1024px;margin:0 auto;padding:48px;position:relative}.sys-main-header{border-bottom:1px solid var(--sys-border);justify-content:space-between;align-items:flex-end;margin-bottom:64px;padding-bottom:32px;display:flex}.sys-main-title{letter-spacing:-.05em;margin-bottom:8px;font-size:clamp(28px,8cqw,36px);font-weight:400}.sys-main-subtitle{color:var(--sys-dim);font-size:12px}.sys-sys-indicator{text-align:right}.sys-bars{justify-content:flex-end;gap:4px;margin-bottom:4px;display:flex}.sys-bar{width:4px;height:16px}.sys-bar-active{background:#fff;animation:2s infinite sys-pulse}.sys-bar-mid{background:#4b5563}.sys-bar-dim{background:#1f2937}.sys-version{color:var(--sys-dim);font-size:10px}@keyframes sys-pulse{0%,to{opacity:1}50%{opacity:.4}}.sys-section{margin-bottom:80px}.sys-section-last{margin-bottom:96px}.sys-section-heading{align-items:center;gap:16px;margin-bottom:32px;display:flex}.sys-heading-dash{background:#fff;flex-shrink:0;width:32px;height:1px}.sys-heading-text{letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;font-size:20px;font-weight:400}.sys-heading-line{background:var(--sys-border);flex:1;height:1px}.sys-timeline{flex-direction:column;gap:48px;display:flex}.sys-timeline-item{border-left:1px solid var(--sys-border);padding-left:32px;transition:border-color .5s;position:relative}.sys-timeline-item:hover{border-left-color:#fff}.sys-timeline-dot{background:#000;border:1px solid #333;width:9px;height:9px;transition:all .3s;position:absolute;top:0;left:-5px}.sys-timeline-item:hover .sys-timeline-dot{background:#fff;border-color:#fff}.sys-exp-grid{grid-template-columns:1fr 3fr;gap:24px;margin-bottom:16px;display:grid}.sys-exp-company{font-size:18px;font-weight:700;line-height:1.2}.sys-exp-location{color:var(--sys-dim);margin-top:4px;font-size:12px}.sys-exp-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.sys-exp-title{color:#fff;font-size:16px;font-weight:700}.sys-date-badge{background:var(--sys-hover);color:#9ca3af;white-space:nowrap;border:1px solid #333;flex-shrink:0;padding:4px 8px;font-size:12px}.sys-exp-description p{color:#9ca3af;margin-bottom:16px;font-size:14px;line-height:1.625}.sys-exp-description p:last-child{margin-bottom:0}.sys-exp-description ul,.sys-exp-description ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sys-exp-description li{color:var(--sys-dim);align-items:flex-start;gap:8px;font-size:12px;display:flex}.sys-exp-description li:before{content:">";color:#fff;flex-shrink:0;font-weight:700}.sys-edu-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.sys-edu-card{border:1px solid var(--sys-border);background:var(--sys-surface);padding:24px;transition:border-color .3s}.sys-edu-card:hover{border-color:#fff}.sys-edu-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.sys-edu-number{color:#222;font-size:30px;font-weight:700;transition:color .3s}.sys-edu-card:hover .sys-edu-number{color:#fff}.sys-edu-date{border:1px solid #333;padding:4px 8px;font-size:12px}.sys-edu-school{margin-bottom:4px;font-size:18px;font-weight:700}.sys-edu-degree{color:#fff;margin-bottom:8px;font-size:14px;font-weight:700}.sys-edu-description{color:#9ca3af;font-size:12px;line-height:1.5}.sys-edu-description p{margin-bottom:.5rem}.sys-edu-description p:last-child{margin-bottom:0}.sys-certs-table-wrap{width:100%;overflow-x:auto}.sys-certs-table{text-align:left;border-collapse:collapse;width:100%}.sys-certs-header-row th{color:var(--sys-dim);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--sys-border);padding:12px 16px;font-size:12px;font-weight:400}.sys-certs-th-right{text-align:right}.sys-cert-row{border-bottom:1px solid var(--sys-border);transition:background-color .2s}.sys-cert-row:hover{background-color:var(--sys-hover)}.sys-cert-row td{padding:16px;font-size:14px}.sys-cert-name{font-weight:700}.sys-cert-org,.sys-cert-date{color:#9ca3af}.sys-cert-status{border:1px solid;padding:4px 8px;font-size:12px}.sys-cert-active{color:#4ade80;background:#14532d4d;border-color:#14532dcc}.sys-cert-expired{color:#f87171;background:#7f1d1d4d;border-color:#7f1d1dcc}.sys-cert-link-cell{text-align:right}.sys-cert-link{color:var(--sys-dim);font-size:12px;text-decoration:underline;transition:color .2s}.sys-cert-link:hover{color:#fff}.sys-footer{border-top:1px solid var(--sys-border);background-color:var(--sys-bg);z-index:20;flex-shrink:0;height:180px;display:flex}.sys-footer-label{border-right:1px solid var(--sys-border);flex-direction:column;flex-shrink:0;justify-content:space-between;width:340px;padding:24px;display:flex}.sys-footer-title{font-size:18px;font-weight:700}.sys-footer-status{color:#4b5563;align-items:flex-end;gap:8px;font-size:10px;display:flex}.sys-status-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s infinite sys-pulse;display:inline-block}.sys-skills-scroll{flex:1;align-items:center;gap:16px;padding:16px;display:flex;overflow-x:auto}.sys-skill-card{border:1px solid var(--sys-border);background:var(--sys-surface);cursor:default;flex-direction:column;flex-shrink:0;justify-content:space-between;width:140px;height:140px;padding:8px;transition:all .2s;display:flex}.sys-skill-card:hover{border-color:#fff;transform:scale(1.02)}.sys-skill-inner{border:1px dashed #333;flex:1;justify-content:center;align-items:center;width:100%;margin-bottom:8px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.sys-skill-card:hover .sys-skill-inner{border-color:#fff3}.sys-skill-pattern{opacity:.2;position:absolute;inset:0}.sys-skill-abbrev{z-index:10;font-size:24px;font-weight:700;position:relative}.sys-skill-footer{justify-content:space-between;align-items:flex-end;display:flex}.sys-skill-name{font-size:10px;font-weight:700}.sys-pat-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,var(--sys-border)3px,var(--sys-border)4px)}.sys-pat-dots{background-image:radial-gradient(var(--sys-dim)1px,transparent 1px);opacity:.3;background-size:4px 4px}.sys-pat-diag{background-image:repeating-linear-gradient(45deg,var(--sys-border)25%,transparent 25%,transparent 75%,var(--sys-border)75%,var(--sys-border));background-size:10px 10px}.sys-pat-gradient{background:linear-gradient(45deg,#0000 25%,#ffffff1a 50%,#0000 75%) 0 0/10px 10px}.sys-pat-grid-sm{background-image:linear-gradient(var(--sys-border)1px,transparent 1px),linear-gradient(90deg,var(--sys-border)1px,transparent 1px);background-size:10px 10px}.sys-pat-radial{opacity:.3;background:repeating-radial-gradient(circle,#0000 0 2px,#333 3px)}.sys-pat-lines-v{background-image:repeating-linear-gradient(90deg,transparent,transparent 3px,var(--sys-border)3px,var(--sys-border)4px)}.sys-glitch:hover{color:#fff;text-shadow:2px 0 #ff003c,-2px 0 #00f0ff;animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both sys-glitch-anim}@keyframes sys-glitch-anim{0%{transform:translate(0)}20%{transform:translate(-1px,1px)}40%{transform:translate(-1px,-1px)}60%{transform:translate(1px,1px)}80%{transform:translate(1px,-1px)}to{transform:translate(0)}}.sys-main-spacer{height:96px}@container (max-width:1023px){.sys-black-theme{height:auto;min-height:100dvh;overflow:auto}.sys-content-area{flex-direction:column;overflow:visible}.sys-sidebar{border-right:none;border-bottom:1px solid var(--sys-border);width:100%;overflow-y:visible}.sys-main{overflow-y:visible}.sys-main-inner{padding:32px 24px}.sys-main-header{flex-direction:column;align-items:flex-start;gap:16px}.sys-sys-indicator{text-align:left}.sys-bars{justify-content:flex-start}.sys-exp-grid{grid-template-columns:1fr;gap:8px}.sys-edu-grid{grid-template-columns:1fr}.sys-footer{flex-direction:column;height:auto}.sys-footer-label{border-right:none;border-bottom:1px solid var(--sys-border);flex-direction:row;align-items:center;width:100%;padding:16px 24px}.sys-skills-scroll{gap:12px;padding:12px}.sys-skill-card{width:120px;height:120px}.sys-certs-table-wrap{margin:0 -24px;padding:0 24px}}@container (max-width:639px){.sys-identity,.sys-sidebar-body{padding:24px}.sys-status-box{padding:16px}.sys-main-inner{padding:24px 16px}.sys-exp-title-row{flex-direction:column;gap:4px}.sys-date-badge{align-self:flex-start}.sys-skill-card{width:100px;height:100px}.sys-skill-abbrev{font-size:18px}.sys-skill-name{font-size:8px}}
.imessage-theme{--imessage-bg:#f9f9f9;--imessage-blue:#a8d8f0;--imessage-gray:#e5e5ea;--imessage-text:#2c3e50;--imessage-text-muted:#8e8e93;--imessage-link:#007aff;--imessage-bubble-radius:20px;--imessage-max-bubble:75%;--imessage-avatar-size:24px;--imessage-header-photo:64px;--imessage-container-max:540px;background:var(--imessage-bg);min-height:100dvh;color:var(--imessage-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}.imessage-container{max-width:var(--imessage-container-max);margin:0 auto;padding:8px 16px 80px}.imessage-sticky-header{z-index:10;background:var(--imessage-bg);padding-left:16px;padding-right:16px;position:sticky;top:0}.imessage-sticky-header-inner{max-width:var(--imessage-container-max);flex-direction:column;align-items:center;gap:2px;margin:0 auto;display:flex}.imessage-header-blur{pointer-events:none;height:16px;position:absolute;bottom:-16px;left:0;right:0}.imessage-header-blur-gradient{background:linear-gradient(180deg,var(--imessage-bg)0%,#f9f9f900 100%);position:absolute;inset:0}.imessage-header-blur-layer{-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.imessage-header-photo-wrap{border-radius:50%;flex-shrink:0;overflow:hidden}.imessage-header-photo{object-fit:cover;border-radius:50%;width:100%;height:100%}.imessage-header-photo-fallback{color:#fff;-webkit-user-select:none;user-select:none;background:#c7c7cc;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(14px,2.5cqw,24px);font-weight:600;display:flex}.imessage-header-name{text-align:center;color:#1c1c1e;font-weight:700;line-height:1.2}.imessage-header-headline{color:var(--imessage-text-muted);text-align:center;font-size:14px;overflow:hidden}.imessage-chat{flex-direction:column;gap:8px;display:flex}.imessage-row{align-items:flex-end;display:flex;position:relative}.imessage-row--blue{justify-content:flex-start}.imessage-row--gray{justify-content:flex-end}.imessage-row--gray+.imessage-row--blue,.imessage-row--gray+.imessage-typing-row--blue,.imessage-row--blue+.imessage-row--gray,.imessage-row--blue+.imessage-typing-row--gray{margin-top:16px}.imessage-bubble{border-radius:var(--imessage-bubble-radius);word-break:break-word;white-space:pre-line;padding:10px 14px;font-size:16px;line-height:1.4;position:relative}.imessage-bubble--blue{color:#154359;background:linear-gradient(#b2e8ff 0%,#77c8ff 100%) bottom/100% max(100%,120px) no-repeat;font-weight:600}.imessage-bubble--gray{color:#3d3d3d;background:linear-gradient(#efefef 0%,#cfcfcf 100%) bottom/100% max(100%,120px) no-repeat;font-weight:600}.imessage-bubble--blue.imessage-bubble--tail:before{content:"";background:#77c8ff;border-bottom-right-radius:25px;width:20px;height:25px;position:absolute;bottom:0;left:-10px}.imessage-bubble--blue.imessage-bubble--tail:after{content:"";background:var(--imessage-bg);border-bottom-right-radius:18px;width:20px;height:35px;position:absolute;bottom:-6px;left:-20px}.imessage-bubble--gray.imessage-bubble--tail:before{content:"";background:#cfcfcf;border-bottom-left-radius:25px;width:20px;height:25px;position:absolute;bottom:0;right:-10px}.imessage-bubble--gray.imessage-bubble--tail:after{content:"";background:var(--imessage-bg);border-bottom-left-radius:18px;width:20px;height:35px;position:absolute;bottom:-6px;right:-20px}.imessage-row--has-reaction{margin-top:16px}.imessage-reaction{pointer-events:none;z-index:3;width:36px;height:36px;position:absolute;top:-16px;right:-12px}.imessage-bubble a{color:inherit;text-decoration:none}.imessage-bubble a:hover{text-decoration:underline}.imessage-external-icon{vertical-align:-1px;width:14px;height:14px;margin-left:4px;display:inline-block}.imessage-bubble-col{max-width:var(--imessage-max-bubble);flex-direction:column;display:flex}.imessage-bubble-col--blue{align-items:flex-start}.imessage-bubble-col--gray{align-items:flex-end}.imessage-row-avatar{z-index:2;flex-shrink:0;align-self:flex-end;margin-right:6px;position:relative}.imessage-row-avatar-spacer{width:var(--imessage-avatar-size);flex-shrink:0;margin-right:6px}.imessage-bubble-avatar{width:var(--imessage-avatar-size);height:var(--imessage-avatar-size);object-fit:cover;border-radius:50%}.imessage-bubble-avatar-fallback{width:var(--imessage-avatar-size);height:var(--imessage-avatar-size);color:#fff;-webkit-user-select:none;user-select:none;background:#c7c7cc;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.imessage-bubble-avatar-spacer{width:calc(var(--imessage-avatar-size) + 6px);flex-shrink:0}.imessage-typing{background:var(--imessage-blue);border-radius:var(--imessage-bubble-radius);align-items:center;gap:4px;width:fit-content;padding:10px 14px;display:flex}.imessage-typing-row{align-items:flex-end;margin-top:2px;display:flex}.imessage-typing-row--blue{justify-content:flex-start}.imessage-typing-row--gray{justify-content:flex-end}.imessage-typing--gray{background:var(--imessage-gray)}.imessage-typing-dot{background:#0000004d;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite imessage-dot-bounce}.imessage-typing-dot:nth-child(2){animation-delay:.2s}.imessage-typing-dot:nth-child(3){animation-delay:.4s}@keyframes imessage-dot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.imessage-bubble-hidden{opacity:0;transform:translateY(6px)}.imessage-bubble-visible{opacity:1;transition:opacity .25s ease-out,transform .25s ease-out;transform:translateY(0)}@container (max-width:640px){.imessage-theme{--imessage-max-bubble:85%;--imessage-avatar-size:22px;--imessage-header-photo:56px}.imessage-sticky-header{padding-left:12px;padding-right:12px}.imessage-container{padding:8px 12px 60px}.imessage-bubble{font-size:15px}}@media (prefers-reduced-motion:reduce){.imessage-bubble-hidden{opacity:1;transform:none}.imessage-bubble-visible{transition:none}.imessage-typing-dot{animation:none}}
.cp-theme{color:#00f;background-color:#fff;flex-direction:column;width:100%;min-height:100dvh;font-family:Courier New,Courier,monospace;display:flex;overflow-x:hidden}.cp-theme ::selection{color:#fff;background-color:#00f}.cp-theme *{box-sizing:border-box}.cp-theme::-webkit-scrollbar{width:12px}.cp-theme::-webkit-scrollbar-track{background:#fff;border-left:1px solid #00f}.cp-theme::-webkit-scrollbar-thumb{background:#00f}.cp-theme::-webkit-scrollbar-thumb:hover{background:#00a}.cp-hover-invert{transition:all}.cp-hover-invert:hover{color:#fff;cursor:pointer;background-color:#00f}.cp-nav{text-transform:uppercase;z-index:50;background:#fff;border-bottom:1px solid #00f;justify-content:space-between;align-items:flex-start;width:100%;padding:16px;font-size:14px;display:flex;position:sticky;top:0}.cp-nav-left{flex-direction:column;gap:8px;display:flex}.cp-nav-filename{cursor:pointer}.cp-nav-filename:hover{text-decoration:underline}.cp-nav-date{display:none}.cp-nav-links{gap:16px;display:flex}.cp-nav-link{cursor:pointer;color:#00f;padding:0 4px;text-decoration:none;transition:all}.cp-nav-link:hover{color:#fff;background-color:#00f}@container (min-width:768px){.cp-nav{font-size:16px}.cp-nav-left{flex-direction:row;gap:48px}.cp-nav-date{display:inline}.cp-nav-links{gap:32px}}.cp-marquee-bar{color:#fff;background-color:#00f;border-bottom:1px solid #00f;width:100%;padding:8px 0;overflow:hidden}.cp-marquee-track{white-space:nowrap;overflow:hidden}.cp-marquee-text{text-transform:uppercase;will-change:transform;font-size:18px;animation:40s linear infinite cp-marquee;display:inline-block}@keyframes cp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.cp-main{width:100%;max-width:1440px;margin:0 auto;padding:16px}@container (min-width:768px){.cp-main{padding:32px}}@container (min-width:1024px){.cp-main{padding:48px}}.cp-hero{margin-bottom:96px}.cp-hero-name-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.cp-hero-name{text-transform:uppercase;letter-spacing:-.05em;word-break:break-word;max-width:100%;font-size:60px;font-weight:700;line-height:.9}.cp-online-indicator{white-space:nowrap;margin-bottom:8px;font-size:20px;font-weight:700;animation:2s cubic-bezier(.4,0,.6,1) infinite cp-pulse}@keyframes cp-pulse{0%,to{opacity:1}50%{opacity:.5}}@container (min-width:768px){.cp-hero-name{font-size:96px}.cp-online-indicator{font-size:24px}}@container (min-width:1024px){.cp-hero-name{font-size:128px}}.cp-ascii-divider{letter-spacing:-2px;white-space:nowrap;-webkit-user-select:none;user-select:none;margin-bottom:32px;font-size:20px;overflow:hidden}.cp-hero-cards{grid-template-columns:1fr;gap:32px;display:grid}.cp-hero-sidebar{flex-direction:column;gap:24px;display:flex}.cp-card{border:1px solid #00f;padding:16px}.cp-card-label{text-transform:uppercase;opacity:.7;margin-bottom:8px;font-size:12px;display:block}.cp-card-value-lg{font-size:24px;font-weight:700;line-height:1.2}.cp-card-value{font-size:20px;font-weight:700}@container (min-width:1024px){.cp-hero-cards{grid-template-columns:1fr 2fr}}.cp-hero-summary{height:100%}.cp-summary-box{color:#fff;text-transform:uppercase;background-color:#00f;height:100%;padding:24px;font-size:20px;font-weight:700;line-height:1.4}.cp-summary-box p{margin:0 0 16px}.cp-summary-box p:last-child{margin-bottom:0}.cp-summary-box ul,.cp-summary-box ol{margin:8px 0;padding-left:20px}@container (min-width:768px){.cp-summary-box{padding:40px;font-size:30px}}.cp-slash-divider{text-align:center;color:#00f;white-space:nowrap;width:100%;margin-bottom:48px;font-size:24px;overflow:hidden}.cp-section{margin-bottom:96px}.cp-section-title{color:#fff;text-transform:uppercase;background-color:#00f;margin-bottom:48px;padding:8px 16px;font-size:36px;font-weight:700;display:inline-block}@container (min-width:768px){.cp-section-title{font-size:48px}}.cp-exp-list{border-top:1px solid #00f}.cp-exp-item{border-bottom:1px solid #00f;grid-template-columns:1fr;transition:background-color .15s;display:grid}.cp-exp-item:hover{background-color:#eff6ff}.cp-exp-date-col{border-bottom:1px dashed #00f;padding:24px}.cp-exp-date{font-size:20px;font-weight:700}.cp-exp-duration{opacity:.75;margin-top:8px;font-size:14px}.cp-exp-detail-col{padding:24px}.cp-exp-header{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.cp-exp-title{text-transform:uppercase;margin-bottom:4px;font-size:30px;font-weight:700}.cp-exp-company{font-size:20px;font-style:italic}.cp-exp-description{max-width:56rem;font-size:18px;line-height:1.6}.cp-exp-description p{margin:0 0 8px}.cp-exp-description p:last-child{margin-bottom:0}.cp-exp-description ul,.cp-exp-description ol{margin:4px 0;padding-left:20px}@container (min-width:768px){.cp-exp-item{grid-template-columns:3fr 9fr}.cp-exp-date-col{border-bottom:none;border-right:1px solid #00f}.cp-exp-header{flex-direction:row}}.cp-skills-section{margin-bottom:96px}.cp-skills-wrap{text-align:center;text-transform:uppercase;border-top:1px solid #00f;border-bottom:1px solid #00f;flex-wrap:wrap;justify-content:center;padding:48px 0;font-size:30px;font-weight:700;line-height:1.3;display:flex}.cp-skill-item{cursor:default;padding:0 8px;transition:all}.cp-skill-item:hover{color:#fff;background-color:#00f}.cp-skill-sep{color:#00f;opacity:.3;margin:0 8px}@container (min-width:768px){.cp-skills-wrap{font-size:48px}}@container (min-width:1024px){.cp-skills-wrap{font-size:60px}}.cp-two-col{grid-template-columns:1fr;gap:48px;margin-bottom:96px;display:grid}.cp-two-col>section:only-child{grid-column:1/-1}@container (min-width:1024px){.cp-two-col{grid-template-columns:1fr 1fr}}.cp-sub-title-row{align-items:center;gap:16px;margin-bottom:32px;display:flex}.cp-sub-icon{font-size:36px}.cp-sub-title{text-transform:uppercase;text-underline-offset:4px;font-size:30px;font-weight:700;-webkit-text-decoration:underline #00f;text-decoration:underline #00f;text-decoration-thickness:4px}@container (min-width:768px){.cp-sub-title{font-size:36px}}.cp-edu-list{flex-direction:column;gap:32px;display:flex}.cp-edu-card{border:1px solid #00f;padding:24px;box-shadow:8px 8px #00f}.cp-edu-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.cp-edu-school{font-size:24px;font-weight:700}.cp-edu-date{color:#fff;white-space:nowrap;background-color:#00f;flex-shrink:0;padding:4px 8px;font-size:12px}.cp-edu-degree{margin-bottom:16px;font-size:20px}.cp-edu-description{opacity:.8;border-top:1px dashed #00f;margin-top:16px;padding-top:16px;font-size:14px;line-height:1.5}.cp-edu-description p{margin:0 0 8px}.cp-edu-description p:last-child{margin-bottom:0}.cp-edu-description ul,.cp-edu-description ol{margin:4px 0;padding-left:20px}.cp-cert-list{flex-direction:column;display:flex}.cp-cert-item{border-bottom:1px solid #00f;justify-content:space-between;align-items:center;padding:16px 0;transition:background-color .15s;display:flex}.cp-cert-item:hover{background-color:#eff6ff}.cp-cert-clickable{cursor:pointer}.cp-cert-clickable:hover .cp-cert-name{text-decoration:underline}.cp-cert-name{font-size:18px;font-weight:700}.cp-cert-meta{margin-top:2px;font-size:14px}.cp-cert-arrow{color:#00f;flex-shrink:0;margin-left:12px;font-size:24px;text-decoration:none}.cp-status-box{text-align:center;border:1px solid #00f;margin-top:32px;padding:16px}.cp-status-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:12px}.cp-status-value{letter-spacing:-.05em;font-size:36px;font-weight:700}.cp-contact{color:#fff;background-color:#00f;margin-bottom:48px;padding:32px;position:relative;overflow:hidden}.cp-contact-bg-char{opacity:.2;pointer-events:none;-webkit-user-select:none;user-select:none;padding:16px;font-size:200px;font-weight:700;line-height:.8;position:absolute;top:0;right:0}.cp-contact-heading{text-transform:uppercase;max-width:42rem;margin-bottom:48px;font-size:48px;font-weight:700;line-height:1.1}.cp-contact-grid{grid-template-columns:1fr;gap:48px;display:grid}.cp-contact-label{text-transform:uppercase;opacity:.7;margin-bottom:8px;font-size:14px}.cp-contact-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.cp-contact-link{color:#fff;border-bottom:1px solid #fff;padding:0 4px 4px;font-size:20px;text-decoration:none;transition:all}.cp-contact-link:hover{color:#00f;background-color:#fff}.cp-social-links{flex-wrap:wrap;gap:16px;display:flex}.cp-social-btn{color:#fff;text-transform:uppercase;border:1px solid #fff;padding:12px 24px;font-family:Courier New,Courier,monospace;font-size:18px;font-weight:700;text-decoration:none;transition:all}.cp-social-btn:hover{color:#00f;background-color:#fff}.cp-contact-footer{opacity:.6;border-top:1px solid #ffffff4d;flex-direction:column;align-items:center;gap:8px;margin-top:64px;padding-top:32px;font-size:14px;display:flex}@container (min-width:768px){.cp-contact{padding:64px}.cp-contact-heading{font-size:72px}.cp-contact-grid{grid-template-columns:1fr 1fr}.cp-contact-link{font-size:24px}.cp-contact-footer{flex-direction:row;justify-content:space-between}}.cp-end-transmission{text-align:center;letter-spacing:.1em;opacity:.5;width:100%;margin-bottom:16px;font-size:12px}
