.home,.pdialog{--h-bg:#000;--h-surface:#ffffff09;--h-surface-2:#ffffff0f;--h-line:#ffffff1a;--h-line-2:#fff3;--h-ink:#f4f4f2;--h-ink-2:#acaca8;--h-ink-3:#77776f;--h-orange:#ff9a3c;--h-green:#4fe3a0;--h-violet:#b18cff;--h-blue:#6db8ff;--h-yellow:#ffd23f;--h-link:var(--h-blue);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body:has(.home){background:#000}.home{background:var(--h-bg);min-height:100vh;color:var(--h-ink);font:400 17px/1.6 var(--body);position:relative}.home a{color:var(--h-link);text-underline-offset:.2em;-webkit-text-decoration:underline #6db8ff66;text-decoration:underline #6db8ff66;text-decoration-thickness:1px}.home a:hover{color:#a6d4ff;text-decoration-color:currentColor}.home a:focus-visible,.home button:focus-visible{outline:2px solid var(--h-blue);outline-offset:3px;border-radius:6px}.home__frame{grid-template-columns:200px minmax(0,1fr);gap:56px;max-width:1160px;margin:0 auto;padding:0 32px;display:grid}.home__side{flex-direction:column;align-self:start;gap:36px;height:100vh;padding:44px 0 36px;display:flex;position:sticky;top:0}.home a.home__mark{font:700 17px/1.25 var(--display);letter-spacing:-.01em;color:var(--h-ink);text-decoration:none}.snav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.home a.snav__link{color:var(--h-ink-3);border-radius:8px;align-items:center;gap:12px;margin-left:-12px;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;display:flex;position:relative}.snav__link:before{content:"";background:var(--h-line-2);border-radius:2px;width:7px;height:7px;transition:background-color .15s,transform .15s}.home a.snav__link:hover{color:var(--h-ink);background:#ffffff0a}.home a.snav__link[aria-current=true]{color:var(--h-ink);background:var(--h-surface)}.snav__link[aria-current=true]:before{background:var(--tone);transform:scale(1.15)}.snav__link--about,.snav__link--work{--tone:var(--h-orange)}.snav__link--projects{--tone:var(--h-green)}.snav__link--education{--tone:var(--h-violet)}.snav__link--skills{--tone:var(--h-blue)}.snav__link--contact{--tone:var(--h-yellow)}.home a.home__resume{margin-top:auto;font-size:15px;font-weight:500}.home__main{min-width:0;max-width:820px;padding:112px 0 0}.intro{background:var(--h-surface);border:1px solid var(--h-line);border-radius:24px;grid-template-columns:148px minmax(0,1fr);grid-template-areas:"photo body""text text""links links";gap:28px 32px;padding:36px;scroll-margin-top:112px;display:grid}.intro__photo{object-fit:cover;border-radius:20px;grid-area:photo;width:148px;height:148px;box-shadow:0 0 0 1px #ffffff1a}.intro__body{flex-direction:column;grid-area:body;align-self:center;gap:8px;display:flex}.intro__name{font:800 clamp(34px, 4.6vw, 48px)/1.02 var(--display);letter-spacing:-.025em;text-wrap:balance}.intro__role{font:600 18px/1.35 var(--body);color:var(--h-orange)}.intro__where{color:var(--h-ink-3);font-size:15px}.intro__text{color:var(--h-ink-2);text-wrap:pretty;flex-direction:column;grid-area:text;gap:12px;max-width:40em;font-size:18px;display:flex}.intro__text p:first-child{color:var(--h-ink)}.intro__links{flex-wrap:wrap;grid-area:links;gap:10px;display:flex}.home a.ibtn{border:1px solid var(--h-line-2);min-height:42px;color:var(--h-ink);background:#ffffff05;border-radius:10px;align-items:center;padding:0 16px;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .15s,background-color .15s;display:inline-flex}.home a.ibtn:hover{border-color:var(--h-ink-3);color:var(--h-ink);background:#ffffff0d}.home a.ibtn--solid{background:var(--h-orange);border-color:var(--h-orange);color:#000;font-weight:600}.home a.ibtn--solid:hover{color:#000;background:#ffb366;border-color:#ffb366}.block{flex-direction:column;gap:18px;margin-top:88px;scroll-margin-top:48px;display:flex}.block__title{font:700 26px/1.1 var(--display);letter-spacing:-.015em}.card{--tone:var(--h-blue);background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;padding:26px 28px;position:relative}.card--orange{--tone:var(--h-orange)}.card--blue{--tone:var(--h-blue)}.card--violet{--tone:var(--h-violet)}.card--green{--tone:var(--h-green)}.card__head{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.card__logo{background:color-mix(in srgb, var(--tone) 18%, transparent);height:48px;color:var(--tone);font:800 15px/1 var(--display);border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;display:flex}.card__titles{flex:280px;min-width:0}.card__titles h3{font:600 19px/1.3 var(--body);letter-spacing:-.01em}.card__titles p{color:var(--h-ink-3);margin-top:2px;font-size:15px}.when{color:var(--h-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:14px}.card__lead{color:var(--h-ink-2);text-wrap:pretty;margin-top:16px}.card__lead+.card__lead{margin-top:10px}.card__points{color:var(--h-ink-2);flex-direction:column;gap:8px;margin:14px 0 0;padding:0 0 0 18px;display:flex}.card__points li::marker{color:var(--tone)}.card__stack{color:var(--h-ink-3);margin-top:14px;font-size:14px}.roles{flex-direction:column;gap:10px;margin:20px 0 0;padding:0;list-style:none;display:flex}.roles li{background:#ffffff08;border-radius:12px;padding:14px 16px}.roles__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;display:flex}.roles h4{font:600 16px/1.4 var(--body)}.roles p{color:var(--h-ink-2);margin-top:4px;font-size:16px}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.skills>div{background:var(--h-surface);border:1px solid var(--h-line);border-radius:14px;padding:18px 20px}.skills dt{color:var(--h-blue);font-size:16px;font-weight:600}.skills dd{color:var(--h-ink-2);margin:4px 0 0;font-size:15px}.contact{flex-direction:column;gap:10px;display:flex}.contact p{color:var(--h-ink-2)}.home a.contact__email{font:700 clamp(20px, 3vw, 26px)/1.2 var(--display);color:var(--h-green);word-break:break-all;text-decoration:none}.home a.contact__email:hover{color:#8af0c2}.home__foot{color:var(--h-ink-3);margin:64px 0 0;padding:0 0 48px;font-size:14px}.fold{padding:0;transition:border-color .2s,background-color .2s,transform .2s cubic-bezier(.2,.7,.2,1)}.fold__toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:18px;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;padding:22px 24px;display:grid}.fold__titles{flex-direction:column;gap:2px;min-width:0;display:flex}.fold__title{font:600 19px/1.3 var(--body);letter-spacing:-.01em;transition:color .2s}.fold__sub{color:var(--h-ink-3);font-size:15px}.fold__summary{color:var(--h-ink-2);margin-top:6px;font-size:15px}.fold.is-open .fold__summary{display:none}.fold__cue{color:var(--h-ink-3);align-items:center;gap:10px;display:inline-flex}.fold__hint{opacity:0;white-space:nowrap;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;transform:translate(6px)}.fold__chev{border:1px solid var(--h-line-2);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .3s cubic-bezier(.2,.7,.2,1),background-color .2s,border-color .2s,color .2s;display:flex}.fold.is-open .fold__chev{transform:rotate(180deg)}.fold:hover{border-color:color-mix(in srgb, var(--tone) 55%, transparent);background:var(--h-surface-2);transform:translateY(-2px)}.fold:hover .fold__title{color:var(--tone)}.fold:hover .fold__hint,.fold__toggle:focus-visible .fold__hint{opacity:1;color:var(--tone);transform:none}.fold:hover .fold__chev{background:var(--tone);border-color:var(--tone);color:#000}.fold__toggle:focus-visible{outline-offset:-2px}.fold__more{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1);display:grid}.fold.is-open .fold__more{grid-template-rows:1fr}.fold__inner{min-height:0;padding:0 24px;transition:padding-bottom .32s;overflow:hidden}.fold.is-open .fold__inner{padding-bottom:24px}.fold__inner>:first-child{margin-top:0}.fold .card__lead:first-child,.fold .card__points:first-child,.fold .roles:first-child{margin-top:4px}.tag{--tone:var(--h-violet);color:var(--tone);align-self:flex-start;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.tag--green{--tone:var(--h-green)}.tag--orange{--tone:var(--h-orange)}.tag--yellow{--tone:var(--h-yellow)}.tag--violet{--tone:var(--h-violet)}.plist{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.plist li{display:flex}.plist__row{border:1px solid var(--h-line);background:var(--h-surface);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;gap:8px;padding:20px 22px;transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s,background-color .18s;display:flex}.plist__row:hover{border-color:color-mix(in srgb, var(--h-orange) 55%, transparent);background:var(--h-surface-2);transform:translateY(-3px)}.plist__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.plist__cue{border:1px solid var(--h-line-2);color:var(--h-ink-3);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.plist__cue svg{transition:transform .2s cubic-bezier(.2,.7,.2,1)}.plist__row:hover .plist__cue{background:var(--h-orange);border-color:var(--h-orange);color:#000}.plist__row:hover .plist__cue svg{transform:rotate(90deg)}.plist__row:hover .plist__title{color:var(--h-orange)}.plist__title{font:600 18px/1.3 var(--body);letter-spacing:-.01em;color:var(--h-ink);margin-top:2px;transition:color .2s}.plist__summary{color:var(--h-ink-2);font-size:15px;line-height:1.55}.plist__foot{color:var(--h-ink-3);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:10px;font-size:13px;display:flex}.plist__stack{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plist__badges{flex:none;gap:12px;display:inline-flex}.plist__badge{align-items:center;gap:5px;font-weight:600;display:inline-flex}.plist__badge--code{color:var(--h-green)}.plist__badge--video{color:var(--h-orange)}.plist__badge--live{color:var(--h-blue)}.pdialog{border:1px solid var(--h-line-2);width:min(600px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--h-ink);font:400 17px/1.6 var(--body);background:#0c0c0c;border-radius:20px;padding:0;box-shadow:0 40px 80px -24px #000000e6}.pdialog::backdrop{background:#000000bf}.pdialog[open]{animation:.2s cubic-bezier(.2,.7,.2,1) pdialog-in}.pdialog[open]::backdrop{animation:.2s ease-out pdialog-fade}@keyframes pdialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes pdialog-fade{0%{opacity:0}}.pdialog__card{flex-direction:column;padding:28px 32px 20px;display:flex}.pdialog__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.pdialog__close,.pdialog__nav button{min-height:36px;color:var(--h-ink-2);font:500 15px/1 var(--body);cursor:pointer;background:0 0;border:0;border-radius:8px;margin-right:-12px;padding:0 12px}.pdialog__close:hover,.pdialog__nav button:hover{background:var(--h-surface-2);color:var(--h-ink)}.pdialog__title{font:800 30px/1.1 var(--display);letter-spacing:-.02em;text-wrap:balance;margin-top:12px}.pdialog__body{color:var(--h-ink-2);text-wrap:pretty;flex-direction:column;gap:12px;margin-top:16px;display:flex}.pdialog__stack{margin:22px 0 0;font-size:15px}.pdialog__stack dt{color:var(--h-ink-3)}.pdialog__stack dd{color:var(--h-ink);margin:2px 0 0}.pdialog__links{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.pdialog .pbtn{border:1px solid var(--h-line-2);min-height:42px;color:var(--h-ink);border-radius:10px;align-items:center;padding:0 16px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.pdialog .pbtn:hover{border-color:var(--h-ink-3);color:var(--h-ink)}.pdialog .pbtn--solid{background:var(--h-orange);border-color:var(--h-orange);color:#000;font-weight:600}.pdialog .pbtn--solid:hover{color:#000;background:#ffb366;border-color:#ffb366}.pdialog__note{color:var(--h-ink-3);margin-top:16px;font-size:15px}.pdialog__nav{border-top:1px solid var(--h-line);justify-content:space-between;align-items:center;margin-top:28px;padding-top:12px;display:flex}.pdialog__nav button:first-child{margin:0 0 0 -12px}.pdialog__count{color:var(--h-ink-3);font-variant-numeric:tabular-nums;font-size:14px}.pdialog a:focus-visible,.pdialog button:focus-visible{outline:2px solid var(--h-blue);outline-offset:2px}.wormhole{z-index:2;border-radius:999px;align-items:center;gap:12px;padding:6px;display:flex;position:absolute;top:24px;right:24px}.home a.wormhole{color:var(--h-ink-2);text-decoration:none}.wormhole__portal{background:#05060a;border-radius:50%;width:56px;height:56px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;box-shadow:0 0 0 1px #ffffff29,0 6px 26px -6px #6db8ff80}.wormhole:hover .wormhole__portal{transform:scale(1.08)rotate(-8deg);box-shadow:0 0 0 1px #ffffff38,0 8px 30px -4px #ff9a3c99}.wormhole__label{opacity:0;pointer-events:none;font-size:15px;font-weight:500;transition:opacity .2s,transform .2s;transform:translate(6px)}.wormhole:hover .wormhole__label,.wormhole:focus-visible .wormhole__label{opacity:1;transform:none}.wormhole__fall{z-index:50;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}@media (hover:none){.wormhole__label{opacity:1;font-size:14px;transform:none}.fold__hint{display:none}}@media (max-width:900px){.home__frame{padding:0;display:block}.home__side{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--h-line);scrollbar-width:none;background:#000000d9;flex-direction:row;align-items:center;gap:16px;height:auto;padding:10px 16px;position:sticky;top:0;overflow-x:auto}.home__mark,.home a.home__resume{display:none}.snav ul{flex-direction:row;gap:4px}.home a.snav__link{white-space:nowrap;margin-left:0;padding:6px 12px}.snav__link:before{display:none}.home__main{max-width:none;padding:96px 16px 0}.home__side{padding-right:72px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 84px),#0000 calc(100% - 60px));mask-image:linear-gradient(90deg,#000 calc(100% - 84px),#0000 calc(100% - 60px))}.wormhole{z-index:4;padding:4px;position:fixed;top:2px;right:8px}.wormhole__portal{width:40px;height:40px}.wormhole__label{display:none}.block,.intro{scroll-margin-top:72px}}@media (max-width:640px){.home{font-size:16px}.home__main{padding-top:24px}.intro{border-radius:20px;grid-template-columns:minmax(0,1fr);grid-template-areas:"photo""body""text""links";gap:18px;padding:22px}.intro__photo{border-radius:16px;width:84px;height:84px}.intro__name{font-size:34px}.intro__text,.intro__role{font-size:16px}.plist,.skills{grid-template-columns:1fr}.card{padding:20px}.fold{padding:0}.fold__toggle{grid-template-columns:40px minmax(0,1fr) auto;align-items:start;padding:18px}.fold__toggle .card__logo{flex-basis:40px;width:40px;height:40px}.fold__toggle .when{grid-area:2/2}.fold__cue{grid-area:1/3}.fold__inner{padding:0 18px}.fold.is-open .fold__inner{padding-bottom:18px}.block{margin-top:64px}.pdialog__card{padding:22px 20px 16px}.pdialog__title{font-size:25px}}@media (prefers-reduced-motion:reduce){.pdialog[open],.pdialog[open]::backdrop{animation:none}.wormhole__portal,.wormhole__label,.plist__row,.snav__link,.snav__link:before{transition:none}.plist__row:hover,.fold:hover{transform:none}.fold,.fold__more,.fold__inner,.fold__chev,.fold__hint,.plist__cue,.plist__cue svg{transition:none}}
