*,:before,:after{box-sizing:border-box}*{margin:0}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:root{color-scheme:light;--bg:#f4f3ef;--bg-2:#e9e7e0;--surface:#fff;--ink:#13131a;--ink-2:#55555f;--ink-3:#8c8c9a;--line:#e3e1da;--line-2:#d2d0c7;--accent:#6d4df6;--accent-2:#19bcd4;--avatar-bg:#edebe4;--font:"Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(1rem, .6rem + 2vw, 2rem)}body{min-height:100svh;padding:clamp(1.5rem, 1rem + 3vw, 3rem) var(--gutter);background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--bg-2), var(--bg) 70%);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-synthesis-weight:none;transition:background-color .4s var(--ease), color .4s var(--ease);place-items:center;font-size:clamp(.95rem,.92rem + .18vw,1.02rem);line-height:1.6;display:grid}::selection{background:var(--accent);color:#fff}.vcard{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:26px;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:580px;padding:clamp(1.75rem,1.1rem + 3vw,2.75rem) clamp(1.25rem,.8rem + 2.5vw,2.75rem) clamp(1.75rem,1.2rem + 2.5vw,2.5rem);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 18px 50px -20px #00000029}.ribbon{z-index:4;pointer-events:none;width:132px;height:132px;position:absolute;top:0;right:0;overflow:hidden}.ribbon span{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#fff;text-align:center;width:186px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:.4rem 0;font-size:.62rem;font-weight:500;display:block;position:absolute;top:40px;right:-40px;overflow:hidden;transform:rotate(45deg);box-shadow:0 3px 10px #0003}.ribbon span:after{content:"";background:linear-gradient(105deg,#0000 28%,#ffffffd9 46%,#0000 64%);animation:4.6s ease-in-out infinite sweep;position:absolute;inset:0;transform:translate(-130%)}@keyframes sweep{0%,62%{transform:translate(-130%)}88%,to{transform:translate(130%)}}.tri{z-index:5;width:14px;height:auto;fill:var(--ink);opacity:.34;pointer-events:none;position:absolute;top:21px;right:20px}.avatar{aspect-ratio:1;width:clamp(136px,32vw,172px);animation:7s ease-in-out infinite float;position:relative}.avatar__img{z-index:3;object-fit:cover;background:var(--avatar-bg);border:5px solid var(--surface);border-radius:50%;width:100%;height:100%;position:relative}.avatar__ring{z-index:1;background:var(--surface);box-shadow:0 0 0 1px var(--line), 0 10px 26px -10px #00000047;transition:inset .45s var(--ease), box-shadow .45s var(--ease);border-radius:50%;position:absolute;inset:-7px}.avatar:hover .avatar__ring{box-shadow:0 0 0 1px var(--line-2), 0 14px 32px -10px #00000057;inset:-10px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.id{flex-direction:column;align-items:center;gap:.5rem;display:flex}.id h1{letter-spacing:-.04em;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.2rem);font-weight:600;line-height:1.1}.id .role{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(.95rem,.9rem + .3vw,1.1rem);font-weight:500}.status{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);background:var(--bg);border-radius:99px;align-items:center;gap:.45rem;margin-top:.2rem;padding:.3rem .7rem .3rem .55rem;font-size:.74rem;display:inline-flex}.status i{background:#3fbf52;border-radius:50%;flex:none;width:6px;height:6px}.bio{color:var(--ink-2);text-wrap:balance;max-width:44ch}.bio b{color:var(--ink);font-weight:600}.stack{border-block:1px solid var(--line);flex-direction:column;gap:.9rem;width:100%;padding-block:1.15rem;display:flex}.stack h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.6rem;font-size:.68rem;font-weight:500}.pills{flex-wrap:wrap;justify-content:center;gap:.32rem;display:flex}.pill{border:1px solid var(--line);background:var(--bg);white-space:nowrap;transition:border-color .25s, transform .25s var(--ease);border-radius:99px;align-items:center;gap:.34rem;padding:.26rem .6rem;font-size:.74rem;display:inline-flex}.pill:hover{border-color:color-mix(in srgb, var(--c) 60%, var(--line));transform:translateY(-2px)}.pill i{background:var(--c);border-radius:50%;flex:none;width:5px;height:5px}.socials{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.social{--c:var(--ink);isolation:isolate;border:1px solid var(--line-2);background:var(--bg);transition:color .3s, border-color .3s, transform .3s var(--ease);border-radius:99px;align-items:center;gap:.5rem;padding:.62rem 1.05rem .62rem .9rem;font-size:.86rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.social svg{flex:none;width:16px;height:16px}.social:before{content:"";z-index:-1;background:var(--c);transition:transform .35s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.social:hover{color:#fff;border-color:var(--c);transform:translateY(-2px)}.social:hover:before{transform:translateY(0)}.social--github{--c:#1f2328}.social--linkedin{--c:#0a66c2}.social--instagram{--c:#d62976}.mailto{font-family:var(--mono);color:var(--ink-2);padding-bottom:.15em;font-size:.86rem;position:relative}.mailto:after{content:"";transform-origin:100%;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0}.mailto:hover{color:var(--ink)}.mailto:hover:after{transform-origin:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation:none!important}}
