.strip[data-astro-cid-52seglzl]{border-block:1px solid var(--line);background:var(--bg-2);padding:28px 0 18px}.strip__head[data-astro-cid-52seglzl]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.strip__title[data-astro-cid-52seglzl]{color:var(--text-2);font-size:1rem;font-weight:500;font-family:var(--font-mono);letter-spacing:0}.strip__viewport[data-astro-cid-52seglzl]{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.strip__track[data-astro-cid-52seglzl]{gap:12px;width:max-content;margin:0;padding:0;list-style:none;animation:70s linear infinite strip;display:flex}.strip[data-astro-cid-52seglzl].is-paused .strip__track[data-astro-cid-52seglzl]{animation-play-state:paused}@keyframes strip{to{transform:translate(calc(-50% - 6px))}}.si[data-astro-cid-52seglzl]{border:1px solid var(--line-2);background:var(--surface);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:flex}.si__text[data-astro-cid-52seglzl]{display:grid}.si__name[data-astro-cid-52seglzl]{font-size:.9375rem;font-weight:600}.si__meta[data-astro-cid-52seglzl]{color:var(--text-2);font-size:.6875rem}.si[data-astro-cid-52seglzl] .status[data-astro-cid-52seglzl]{margin:0 0 0 6px}.strip__note[data-astro-cid-52seglzl]{color:var(--text-2);margin-top:14px;font-size:.6875rem}@media (prefers-reduced-motion:reduce){.strip__track[data-astro-cid-52seglzl]{width:auto;padding-inline:var(--gutter);flex-wrap:wrap;animation:none}.strip__track[data-astro-cid-52seglzl] li[data-astro-cid-52seglzl][aria-hidden]{display:none}.strip__viewport[data-astro-cid-52seglzl]{mask-image:none}[data-astro-cid-52seglzl][data-strip-pause]{display:none}}.iam[data-astro-cid-5cssai5k]>.wrap[data-astro-cid-5cssai5k]{padding-block:clamp(64px,8vw,112px)}.iam__head[data-astro-cid-5cssai5k]{max-width:66ch}.iam__head[data-astro-cid-5cssai5k] h2[data-astro-cid-5cssai5k]{margin:6px 0 0;font-weight:500}.iam__lead[data-astro-cid-5cssai5k]{color:var(--text-2);margin:14px 0 0;font-size:1.0625rem}.iam__body[data-astro-cid-5cssai5k]{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(20px,3vw,40px);margin-top:36px;display:grid}.iam__fig[data-astro-cid-5cssai5k] figure{margin:0}.iam__grid[data-astro-cid-5cssai5k]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.iam__card[data-astro-cid-5cssai5k]{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:8px;padding:18px;display:grid}.iam__card[data-astro-cid-5cssai5k] h3[data-astro-cid-5cssai5k]{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.iam__card[data-astro-cid-5cssai5k] h3[data-astro-cid-5cssai5k] svg{color:var(--signal);flex:none}.iam__card[data-astro-cid-5cssai5k] p[data-astro-cid-5cssai5k]{color:var(--text-2);margin:0;font-size:.9375rem;line-height:1.55}.iam__foot[data-astro-cid-5cssai5k]{flex-wrap:wrap;align-items:center;gap:4px 10px;padding-top:4px;display:flex;margin-top:auto!important}.iam__label[data-astro-cid-5cssai5k]{color:var(--text-2);border:1px dashed var(--line-2);border-radius:4px;padding:1px 6px;font-size:.6875rem}.iam__foot[data-astro-cid-5cssai5k] a[data-astro-cid-5cssai5k]{min-height:32px;color:var(--signal);align-items:center;font-size:.875rem;display:inline-flex}@media (width<=1100px){.iam__body[data-astro-cid-5cssai5k]{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.iam__grid[data-astro-cid-5cssai5k]{grid-template-columns:minmax(0,1fr)}}.vpm[data-astro-cid-5yyemkkb]{--bot-w:#e8edf4;--bot-s:#b9c3d1;--bot-d:#8a96a8;text-align:left;width:min(100%,520px);margin:clamp(110px,12vw,130px) auto 0;position:relative}.vpm__card[data-astro-cid-5yyemkkb]{z-index:2;border:1px solid var(--line-2);background:var(--bg-2);border-radius:14px;padding:18px 20px 16px;position:relative}.vpm__head[data-astro-cid-5yyemkkb]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.vpm__head[data-astro-cid-5yyemkkb] h2[data-astro-cid-5yyemkkb]{letter-spacing:0;margin:0;font-size:1rem;font-weight:600}.vpm__group[data-astro-cid-5yyemkkb]{color:var(--text-2);margin:14px 0 2px;font-size:.75rem}.vpm__list[data-astro-cid-5yyemkkb]{margin:0;display:grid}.vpm__list[data-astro-cid-5yyemkkb]>div[data-astro-cid-5yyemkkb]{border-bottom:1px solid var(--line);grid-template-columns:6.5rem minmax(0,1fr);gap:12px;padding:8px 0;font-size:.875rem;display:grid}.vpm__list[data-astro-cid-5yyemkkb] dt[data-astro-cid-5yyemkkb]{color:var(--text-2)}.vpm__list[data-astro-cid-5yyemkkb] dd[data-astro-cid-5yyemkkb]{overflow-wrap:anywhere;margin:0;position:relative}.vpm__ip[data-astro-cid-5yyemkkb] dd[data-astro-cid-5yyemkkb]{font:500 1.25rem/1.25 var(--font-mono);color:var(--yellow);letter-spacing:-.01em}.vpm__hide[data-astro-cid-5yyemkkb]{border:1px solid var(--control-border);min-height:34px;color:var(--text);font:600 .8125rem var(--font-sans);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;transition:background-color .18s,border-color .18s,translate .18s;display:inline-flex}.vpm__hide[data-astro-cid-5yyemkkb]:hover{background:var(--surface-2);translate:0 -1px}.vpm__hide[data-astro-cid-5yyemkkb]:active{translate:0 1px}.vpm__hide[data-astro-cid-5yyemkkb][aria-pressed=true]{border-color:var(--yellow);color:var(--yellow)}.vpm__mosaic[data-astro-cid-5yyemkkb]{opacity:0;pointer-events:none;border-radius:3px;grid-template-columns:repeat(auto-fill,7px);grid-auto-rows:7px;transition:opacity .26s;display:grid;position:absolute;inset:-3px -4px;overflow:hidden}.vpm__mosaic[data-astro-cid-5yyemkkb] i{background:var(--c)}.is-hidden[data-astro-cid-5yyemkkb] .vpm__mosaic[data-astro-cid-5yyemkkb]{opacity:1}.is-hidden[data-astro-cid-5yyemkkb] .vpm__val[data-astro-cid-5yyemkkb]{color:#0000}.vpm__msg[data-astro-cid-5yyemkkb]{color:var(--text-2);margin:10px 0 0;font-size:.8125rem}.vpm__msg[data-astro-cid-5yyemkkb]:empty{display:none}.vpm__note[data-astro-cid-5yyemkkb]{color:var(--text-2);margin:12px 0 0;font-size:.75rem;line-height:1.55}.vpm__note[data-astro-cid-5yyemkkb] a[data-astro-cid-5yyemkkb]{color:var(--signal)}.bot[data-astro-cid-5yyemkkb]{--fur:#f3f3ef;--fur-d:#d6d6d0;--cream:#fff;--dark:#1b1b1f;--dark-2:#2a2a30;z-index:1;perspective:700px;width:104px;height:136px;position:absolute;bottom:calc(100% - 34px);right:30px}.bot__rig[data-astro-cid-5yyemkkb]{transform-style:preserve-3d;transform:translateY(var(--hop,0px));transition:transform .52s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:0}.bot[data-astro-cid-5yyemkkb]:hover .bot__rig[data-astro-cid-5yyemkkb]{--hop:-44px}.bot__f[data-astro-cid-5yyemkkb]{backface-visibility:hidden;display:block;position:absolute}.bot__head[data-astro-cid-5yyemkkb]{width:72px;height:58px;transform-style:preserve-3d;transform:rotateX(var(--hx,0deg)) rotateY(var(--hy,0deg));animation:3.6s ease-in-out infinite alternate bot-nod;position:absolute;top:16px;left:16px}.bot__head[data-astro-cid-5yyemkkb] .bot__f--front[data-astro-cid-5yyemkkb],.bot__head[data-astro-cid-5yyemkkb] .bot__f--back[data-astro-cid-5yyemkkb]{border-radius:4px;width:72px;height:58px}.bot__head[data-astro-cid-5yyemkkb] .bot__f--front[data-astro-cid-5yyemkkb]{background:var(--fur);box-shadow:inset 0 -5px 0 var(--fur-d);transform:translateZ(25px)}.bot__head[data-astro-cid-5yyemkkb] .bot__f--back[data-astro-cid-5yyemkkb]{background:var(--fur-d);transform:rotateY(180deg)translateZ(25px)}.bot__head[data-astro-cid-5yyemkkb] .bot__f--left[data-astro-cid-5yyemkkb],.bot__head[data-astro-cid-5yyemkkb] .bot__f--right[data-astro-cid-5yyemkkb]{background:var(--fur-d);border-radius:4px;width:50px;height:58px;left:11px}.bot__head[data-astro-cid-5yyemkkb] .bot__f--right[data-astro-cid-5yyemkkb]{transform:rotateY(90deg)translateZ(36px)}.bot__head[data-astro-cid-5yyemkkb] .bot__f--left[data-astro-cid-5yyemkkb]{transform:rotateY(-90deg)translateZ(36px)}.bot__head[data-astro-cid-5yyemkkb] .bot__f--top[data-astro-cid-5yyemkkb],.bot__head[data-astro-cid-5yyemkkb] .bot__f--bottom[data-astro-cid-5yyemkkb]{background:#fbfbf8;border-radius:4px;width:72px;height:50px;top:4px}.bot__head[data-astro-cid-5yyemkkb] .bot__f--top[data-astro-cid-5yyemkkb]{transform:rotateX(90deg)translateZ(29px)}.bot__head[data-astro-cid-5yyemkkb] .bot__f--bottom[data-astro-cid-5yyemkkb]{background:var(--dark-2);transform:rotateX(-90deg)translateZ(29px)}.pnd__ear[data-astro-cid-5yyemkkb]{background:var(--dark);border-radius:3px 3px 0 0;width:18px;height:16px;position:absolute;top:-12px;transform:translateZ(14px)}.pnd__ear--l[data-astro-cid-5yyemkkb]{left:4px}.pnd__ear--r[data-astro-cid-5yyemkkb]{right:4px}.pnd__face[data-astro-cid-5yyemkkb]{position:absolute;inset:0}.pnd__brow[data-astro-cid-5yyemkkb]{background:var(--dark);border-radius:3px;width:20px;height:20px;position:absolute;top:13px}.pnd__brow--l[data-astro-cid-5yyemkkb]{left:10px;rotate:-8deg}.pnd__brow--r[data-astro-cid-5yyemkkb]{right:10px;rotate:8deg}.bot__eye[data-astro-cid-5yyemkkb]{background:#f6f6f6;width:12px;height:12px;transition:scale .22s;animation:5.4s infinite bot-blink;position:absolute;top:19px}.pnd__eye--l[data-astro-cid-5yyemkkb]{left:14px}.pnd__eye--r[data-astro-cid-5yyemkkb]{right:14px}.bot__pupil[data-astro-cid-5yyemkkb]{background:var(--dark);width:6px;height:6px;translate:var(--ex,0px) var(--ey,0px);position:absolute;top:3px;left:3px}.pnd__muzzle[data-astro-cid-5yyemkkb]{transform-origin:50% 100%;background:#e4e4de;border-radius:2px;width:28px;height:17px;position:absolute;bottom:5px;left:22px}.pnd__nose[data-astro-cid-5yyemkkb]{background:var(--dark);width:10px;height:6px;position:absolute;top:2px;left:9px}.pnd__mouth[data-astro-cid-5yyemkkb]{background:var(--dark-2);width:6px;height:3px;position:absolute;top:10px;left:11px}.bot__body[data-astro-cid-5yyemkkb]{width:60px;height:48px;transform-style:preserve-3d;animation:3.2s ease-in-out infinite alternate bot-breathe;position:absolute;top:70px;left:22px}.bot__body[data-astro-cid-5yyemkkb] .bot__f--front[data-astro-cid-5yyemkkb],.bot__body[data-astro-cid-5yyemkkb] .bot__f--back[data-astro-cid-5yyemkkb]{border-radius:4px;width:60px;height:48px}.bot__body[data-astro-cid-5yyemkkb] .bot__f--front[data-astro-cid-5yyemkkb]{background:linear-gradient(var(--dark) 0 58%, var(--fur) 58%);transform:translateZ(20px)}.bot__body[data-astro-cid-5yyemkkb] .bot__f--back[data-astro-cid-5yyemkkb]{background:var(--dark);transform:rotateY(180deg)translateZ(20px)}.bot__body[data-astro-cid-5yyemkkb] .bot__f--left[data-astro-cid-5yyemkkb],.bot__body[data-astro-cid-5yyemkkb] .bot__f--right[data-astro-cid-5yyemkkb]{background:linear-gradient(var(--dark) 0 58%, var(--fur-d) 58%);border-radius:4px;width:40px;height:48px;left:10px}.bot__body[data-astro-cid-5yyemkkb] .bot__f--right[data-astro-cid-5yyemkkb]{transform:rotateY(90deg)translateZ(30px)}.bot__body[data-astro-cid-5yyemkkb] .bot__f--left[data-astro-cid-5yyemkkb]{transform:rotateY(-90deg)translateZ(30px)}.bot__body[data-astro-cid-5yyemkkb] .bot__f--top[data-astro-cid-5yyemkkb],.bot__body[data-astro-cid-5yyemkkb] .bot__f--bottom[data-astro-cid-5yyemkkb]{background:var(--dark);width:60px;height:40px;top:4px}.bot__body[data-astro-cid-5yyemkkb] .bot__f--top[data-astro-cid-5yyemkkb]{transform:rotateX(90deg)translateZ(24px)}.bot__body[data-astro-cid-5yyemkkb] .bot__f--bottom[data-astro-cid-5yyemkkb]{transform:rotateX(-90deg)translateZ(24px)}.pnd__belly[data-astro-cid-5yyemkkb]{display:none}.pnd__tail[data-astro-cid-5yyemkkb]{transform-origin:50% 100%;width:14px;height:14px;animation:4s ease-in-out infinite alternate pnd-tail;position:absolute;top:96px;right:-6px;transform:translateZ(-14px)rotate(24deg)}.pnd__tail[data-astro-cid-5yyemkkb] span[data-astro-cid-5yyemkkb]{background:var(--fur);border-radius:3px;height:14px;display:block}.pnd__tail[data-astro-cid-5yyemkkb] span[data-astro-cid-5yyemkkb]:not(:first-child){display:none}.bot__arm[data-astro-cid-5yyemkkb]{background:var(--dark);transform-origin:50% 4px;border-radius:2px;width:14px;height:28px;transition:transform .56s cubic-bezier(.34,1.4,.64,1);position:absolute;top:76px}.bot__arm--l[data-astro-cid-5yyemkkb]{left:16px;transform:translateZ(28px)rotate(28deg)}.bot__arm--r[data-astro-cid-5yyemkkb]{animation:9s ease-in-out 2.5s infinite pnd-eat;right:16px;transform:translateZ(28px)rotate(-28deg)}.bot__hand[data-astro-cid-5yyemkkb]{background:var(--dark-2);border-radius:2px;width:18px;height:14px;transition:scale .4s,translate .4s;position:absolute;bottom:-9px;left:-2px}.pnd__bamboo[data-astro-cid-5yyemkkb]{transform-origin:50% 100%;grid-template-rows:repeat(3,1fr) 6px;width:7px;height:40px;animation:9s step-end 2.5s infinite pnd-bite;display:grid;position:absolute;bottom:8px;left:6px}.pnd__bamboo[data-astro-cid-5yyemkkb] i[data-astro-cid-5yyemkkb]{background:#6dbb3c;border-top:2px solid #3e7d22}.pnd__bamboo[data-astro-cid-5yyemkkb] b[data-astro-cid-5yyemkkb]{background:#a9d86e}.pnd__muzzle[data-astro-cid-5yyemkkb]{animation:9s ease-in-out 2.5s infinite pnd-chew}.is-shy[data-astro-cid-5yyemkkb] .bot__arm--l[data-astro-cid-5yyemkkb]{transform:translateZ(54px)rotate(-164deg)scaleY(1.45)}.is-shy[data-astro-cid-5yyemkkb] .bot__arm--r[data-astro-cid-5yyemkkb]{animation:none;transform:translateZ(54px)rotate(164deg)scaleY(1.45)}.is-shy[data-astro-cid-5yyemkkb] .bot__hand[data-astro-cid-5yyemkkb]{translate:0 2px;scale:1.4 1.1}.is-shy[data-astro-cid-5yyemkkb] .pnd__bamboo[data-astro-cid-5yyemkkb]{opacity:0;animation:none}.is-shy[data-astro-cid-5yyemkkb] .pnd__muzzle[data-astro-cid-5yyemkkb]{animation:none}.is-shy[data-astro-cid-5yyemkkb] .bot__eye[data-astro-cid-5yyemkkb]{scale:1 .15}.is-shy[data-astro-cid-5yyemkkb] .bot__head[data-astro-cid-5yyemkkb]{--hx:12deg!important;--hy:0deg!important}.bot__legs[data-astro-cid-5yyemkkb]{width:36px;height:22px;position:absolute;top:114px;left:34px;transform:translateZ(8px)}.bot__leg[data-astro-cid-5yyemkkb]{background:var(--dark);transform-origin:50% 0;border-radius:2px;width:13px;height:20px;position:absolute;top:0}.bot__leg--l[data-astro-cid-5yyemkkb]{left:0}.bot__leg--r[data-astro-cid-5yyemkkb]{right:0}.bot[data-astro-cid-5yyemkkb]:hover .bot__leg--l[data-astro-cid-5yyemkkb]{animation:.42s ease-in-out infinite alternate bot-kick}.bot[data-astro-cid-5yyemkkb]:hover .bot__leg--r[data-astro-cid-5yyemkkb]{animation:.42s ease-in-out -210ms infinite alternate bot-kick}@keyframes bot-blink{0%,94%,to{scale:1}96%{scale:1 .1}}@keyframes bot-nod{0%{translate:0 -1px}to{translate:0 2px}}@keyframes bot-breathe{0%{translate:0}to{translate:0 2px}}@keyframes bot-kick{0%{rotate:-14deg}to{rotate:14deg}}@keyframes pnd-tail{0%{rotate:-6deg}to{rotate:8deg}}@keyframes pnd-eat{0%,62%,96%,to{transform:translateZ(28px)rotate(-28deg)}70%,88%{transform:translateZ(54px)rotate(150deg)scaleY(1.2)}}@keyframes pnd-bite{0%,74%{scale:1}77%{scale:1 .78}81%{scale:1 .56}85%{scale:1 .36}97%{scale:1}}@keyframes pnd-chew{0%,72%,90%,to{scale:1}75%,79%,83%,87%{scale:1 .82}77%,81%,85%{scale:1 1.05}}.js .vpm__card[data-astro-cid-5yyemkkb]{animation:.9s cubic-bezier(.22,1,.36,1) .25s both vpm-in}.js .bot[data-astro-cid-5yyemkkb]{animation:.9s cubic-bezier(.34,1.56,.64,1) .9s both bot-in}@keyframes vpm-in{0%{opacity:0;translate:0 24px}}@keyframes bot-in{0%{translate:0 70px}}html[data-still] .bot[data-astro-cid-5yyemkkb] [data-astro-cid-5yyemkkb],html[data-still] .bot[data-astro-cid-5yyemkkb]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.js .vpm__card[data-astro-cid-5yyemkkb],.js .bot[data-astro-cid-5yyemkkb],.bot[data-astro-cid-5yyemkkb] [data-astro-cid-5yyemkkb],.bot[data-astro-cid-5yyemkkb]{animation:none!important}.bot__rig[data-astro-cid-5yyemkkb],.bot__arm[data-astro-cid-5yyemkkb]{transition:none}.bot[data-astro-cid-5yyemkkb]:hover .bot__rig[data-astro-cid-5yyemkkb]{--hop:0px}}@media (width>=1600px){.vpm[data-astro-cid-5yyemkkb]{width:330px;margin:0;position:absolute;top:150px;right:max(48px,50vw - 750px)}}@media (width<=480px){.vpm__list[data-astro-cid-5yyemkkb]>div[data-astro-cid-5yyemkkb]{grid-template-columns:minmax(0,1fr);gap:2px}.bot[data-astro-cid-5yyemkkb]{transform-origin:50% 100%;right:18px;scale:.85}}@media (forced-colors:active){.bot[data-astro-cid-5yyemkkb]{display:none}}.ruled[data-astro-cid-b7jqhel5]{border-top:1px solid var(--line)}@media (width>=900px){.ruled[data-astro-cid-b7jqhel5]>.wrap[data-astro-cid-b7jqhel5]{border-inline:1px solid var(--line);padding-inline:clamp(24px,3vw,48px)}}.chapter[data-astro-cid-b7jqhel5]{color:var(--signal);margin:0 0 10px;font-size:.8125rem}.skills[data-astro-cid-b7jqhel5]>.wrap[data-astro-cid-b7jqhel5]{padding-block:clamp(56px,7vw,96px)}.skills__head[data-astro-cid-b7jqhel5]{max-width:62ch}.skills__title[data-astro-cid-b7jqhel5]{margin:6px 0 0}.skills__lead[data-astro-cid-b7jqhel5]{color:var(--text-2);margin:12px 0 0}.skills__panel[data-astro-cid-b7jqhel5]{border:1px solid var(--line-2);background:var(--bg-2);border-radius:14px;margin-top:28px;overflow:hidden;box-shadow:0 24px 60px #00000059}.skills__bar[data-astro-cid-b7jqhel5]{color:var(--text-2);border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;gap:12px;padding:10px 16px;font-size:.75rem;display:flex}.skills__legend[data-astro-cid-b7jqhel5]{border-bottom:1px solid var(--line);color:var(--text-2);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;margin:0;padding:14px 16px;font-size:.8125rem;list-style:none;display:grid}.skills__legend[data-astro-cid-b7jqhel5] li[data-astro-cid-b7jqhel5]{align-content:start;gap:4px;display:grid}.skills__legend[data-astro-cid-b7jqhel5] b[data-astro-cid-b7jqhel5]{color:var(--text);font-weight:600}.skills__list[data-astro-cid-b7jqhel5]{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.sk[data-astro-cid-b7jqhel5]{border-bottom:1px solid var(--line);align-content:start;gap:6px;padding:14px 16px;display:grid}.sk[data-astro-cid-b7jqhel5]:nth-child(odd){border-right:1px solid var(--line)}.skg__head[data-astro-cid-b7jqhel5]{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#9e1f3624,#0000 60%);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:16px 16px 12px;display:grid}.skg__head[data-astro-cid-b7jqhel5] svg{color:var(--signal)}.skg__head[data-astro-cid-b7jqhel5] h3[data-astro-cid-b7jqhel5]{margin:0;font-size:1.0625rem}.skg__asks[data-astro-cid-b7jqhel5]{color:var(--text-2);grid-column:1/-1;margin:0;font-size:.875rem}.skg__asks[data-astro-cid-b7jqhel5] .mono[data-astro-cid-b7jqhel5]{color:var(--signal);margin-right:6px;font-size:.75rem}.sk__top[data-astro-cid-b7jqhel5]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name meter""level level";align-items:center;gap:4px 12px;display:grid}.sk__name[data-astro-cid-b7jqhel5]{grid-area:name;font-weight:600}.sk__meter[data-astro-cid-b7jqhel5]{grid-area:meter;grid-template-columns:repeat(4,22px);gap:3px;display:inline-grid}.sk__meter--key[data-astro-cid-b7jqhel5]{grid-area:auto;grid-template-columns:repeat(4,14px);margin-bottom:2px}.sk__cell[data-astro-cid-b7jqhel5]{background:var(--surface-2);height:8px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:2px;position:relative;overflow:hidden}.sk__cell[data-astro-cid-b7jqhel5].is-full:after{content:"";background:var(--signal);transform-origin:0;position:absolute;inset:0}.sk__level[data-astro-cid-b7jqhel5]{color:var(--signal);grid-area:level;font-size:.75rem}.sk__why[data-astro-cid-b7jqhel5]{color:var(--text-2);margin:0;font-size:.875rem;line-height:1.5}.sk__ex[data-astro-cid-b7jqhel5]{min-height:32px;color:var(--text);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;justify-self:start;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.sk__ex[data-astro-cid-b7jqhel5]:hover{text-decoration-color:var(--yellow)}.sk__ex[data-astro-cid-b7jqhel5]:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.js .skills[data-astro-cid-b7jqhel5]:not(.is-on) .sk[data-astro-cid-b7jqhel5] .sk__cell[data-astro-cid-b7jqhel5].is-full:after{transform:scaleX(0)}.sk[data-astro-cid-b7jqhel5] .sk__cell[data-astro-cid-b7jqhel5].is-full:after{transition:transform .52s var(--ease-out) calc(var(--i) * 50ms)}.sk[data-astro-cid-b7jqhel5] .sk__cell[data-astro-cid-b7jqhel5]:nth-child(2):after{transition-delay:calc(var(--i) * 50ms + 90ms)}.sk[data-astro-cid-b7jqhel5] .sk__cell[data-astro-cid-b7jqhel5]:nth-child(3):after{transition-delay:calc(var(--i) * 50ms + .18s)}.sk[data-astro-cid-b7jqhel5] .sk__cell[data-astro-cid-b7jqhel5]:nth-child(4):after{transition-delay:calc(var(--i) * 50ms + .27s)}}@media (width<=900px){.skills__legend[data-astro-cid-b7jqhel5]{grid-template-columns:repeat(2,minmax(0,1fr))}.skills__list[data-astro-cid-b7jqhel5]{grid-template-columns:minmax(0,1fr)}.sk[data-astro-cid-b7jqhel5]:nth-child(odd){border-right:0}}@media (width<=420px){.skills__legend[data-astro-cid-b7jqhel5]{grid-template-columns:minmax(0,1fr)}}.hero[data-astro-cid-lcdefpme]{padding:clamp(56px,8vw,104px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}.hero__bg[data-astro-cid-lcdefpme]{pointer-events:none;perspective:1200px;transform-style:preserve-3d;position:absolute;inset:-60px 0}.hero__bg[data-astro-cid-lcdefpme]>[data-astro-cid-lcdefpme]{translate:calc(var(--px,0) * var(--z,0) * 18px) calc(var(--py,0) * var(--z,0) * 12px);transition:translate .6s cubic-bezier(.4,0,.2,1)}.hero__grid[data-astro-cid-lcdefpme]{background:linear-gradient(#94a3b80a 1px,#0000 1px) 0 0/64px 64px,linear-gradient(90deg,#94a3b80a 1px,#0000 1px) 0 0/64px 64px;position:absolute;inset:0;mask-image:radial-gradient(80% 70% at 50% 30%,#000,#0000)}.hero__glow[data-astro-cid-lcdefpme]{background:radial-gradient(45% 50% at 35%,#9e1f3633,#0000 70%),radial-gradient(40% 45% at 68% 55%,#6aa8ff1f,#0000 70%);height:520px;position:absolute;top:46%;left:10%;right:10%}.hero__layer[data-astro-cid-lcdefpme],.hero__floats[data-astro-cid-lcdefpme]{height:560px;position:absolute;inset:60px 0 auto}.hero__panel[data-astro-cid-lcdefpme]{border:1px solid var(--line-2);background:linear-gradient(#161e2cb3,#0e131c33);border-radius:14px;width:300px;height:180px;position:absolute}.hero__panel--a[data-astro-cid-lcdefpme]{top:120px;left:-60px;transform:rotateY(18deg)rotate(-4deg)}.hero__panel--b[data-astro-cid-lcdefpme]{top:70px;right:-70px;transform:rotateY(-18deg)rotate(5deg)}.hero__float[data-astro-cid-lcdefpme]{left:var(--x);top:var(--y);animation:float-in .9s calc(.5s + var(--i) * .11s) cubic-bezier(.34, 1.56, .64, 1) both;position:absolute}.hero__bob[data-astro-cid-lcdefpme]{border:1px solid var(--line-2);animation:bob 3.6s var(--d) cubic-bezier(.45, 0, .55, 1) infinite alternate;background:#0e131cbf;border-radius:12px;padding:6px;display:block;box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff0f}@keyframes float-in{0%{opacity:0;transform:translateY(-28px)scale(.8)}}@keyframes bob{0%{transform:translateY(-7px)rotate(-1.5deg)}to{transform:translateY(7px)rotate(1.5deg)}}.hero[data-astro-cid-lcdefpme].is-still .hero__bob[data-astro-cid-lcdefpme],.hero[data-astro-cid-lcdefpme].is-still .hero__float[data-astro-cid-lcdefpme]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.hero__float[data-astro-cid-lcdefpme],.hero__bob[data-astro-cid-lcdefpme]{animation:none}}.hero__motion[data-astro-cid-lcdefpme]{margin:14px 0 0}.hero__pause[data-astro-cid-lcdefpme]{gap:6px}@media (width<=1180px){.hero__layer[data-astro-cid-lcdefpme],.hero__floats[data-astro-cid-lcdefpme],.hero__motion[data-astro-cid-lcdefpme]{display:none}}@media (width>=1600px){.hero__float--r[data-astro-cid-lcdefpme],.hero__panel--b[data-astro-cid-lcdefpme]{display:none}}.hero__vp[data-astro-cid-lcdefpme]{padding-inline:var(--gutter);position:static}@media (width>=1600px){.hero__vp[data-astro-cid-lcdefpme]{padding:0}}.hero__privacy[data-astro-cid-lcdefpme]{text-align:left;max-width:640px;color:var(--text-2);border:1px solid var(--line-2);background:#121924b3;border-radius:10px;align-items:flex-start;gap:10px;margin:28px auto 0;padding:12px 14px;font-size:.875rem;line-height:1.5;display:flex}.hero__privacy[data-astro-cid-lcdefpme] svg{color:var(--signal);flex:none;margin-top:2px}.hero__copy[data-astro-cid-lcdefpme]{text-align:center;max-width:900px;position:relative}.hero__copy[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]{max-width:15ch;margin:0 auto;font-size:clamp(2.25rem,1.5rem + 3.2vw,4rem);font-weight:500}.hero__lead[data-astro-cid-lcdefpme]{max-width:62ch;color:var(--text-2);margin:22px auto 0;font-size:1.125rem}.hero__actions[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.hero__console[data-astro-cid-lcdefpme]{width:min(100% - 2 * var(--gutter), 1320px);perspective:1600px;margin:clamp(44px,6vw,72px) auto 0;position:relative}.hero__tilt[data-astro-cid-lcdefpme]{transform:rotateX(calc(var(--tilt,0deg) * -1));transform-origin:50% 0}.js [data-astro-cid-lcdefpme][data-stage]{animation:stage .9s var(--ease-out) both}.js [data-astro-cid-lcdefpme][data-stage="2"]{animation-delay:.1s}.js [data-astro-cid-lcdefpme][data-stage="3"]{animation-delay:.2s}.js [data-astro-cid-lcdefpme][data-stage="4"]{animation:stage-console 1.1s .32s var(--ease-out) both}@keyframes stage{0%{opacity:0;transform:translateY(16px)}}@keyframes stage-console{0%{opacity:0;transform:translateY(40px)scale(.985)}}.ruled[data-astro-cid-lcdefpme]{border-top:1px solid var(--line)}@media (width>=900px){.ruled[data-astro-cid-lcdefpme]>.wrap[data-astro-cid-lcdefpme]{border-inline:1px solid var(--line);padding-inline:clamp(24px,3vw,48px)}}.chapter[data-astro-cid-lcdefpme]{color:var(--signal);margin-bottom:10px;font-size:.8125rem}.more[data-astro-cid-lcdefpme]{min-height:44px;color:var(--yellow);transition:background-size .24s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1px no-repeat;align-items:center;margin-top:10px;font-weight:600;text-decoration:none;display:inline-flex}.more[data-astro-cid-lcdefpme]:hover,.more[data-astro-cid-lcdefpme]:focus-visible{background-size:100% 1px}.origin-sec[data-astro-cid-lcdefpme]>.wrap[data-astro-cid-lcdefpme]{padding-block:clamp(64px,8vw,112px)}.origin[data-astro-cid-lcdefpme]{gap:clamp(24px,3vw,36px);display:grid}.origin__copy[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:end;gap:clamp(16px,4vw,56px);display:grid}.origin[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{max-width:18ch;font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);font-weight:500}.origin[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]:not(.chapter){color:var(--text-2);max-width:60ch;font-size:1.0625rem}.origin__links[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:0 24px;display:flex}.work[data-astro-cid-lcdefpme]>.wrap[data-astro-cid-lcdefpme]{padding-block:clamp(64px,8vw,112px)}.work__head[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{max-width:24ch}.work__grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:40px 0 0;padding:0;list-style:none;display:grid}.wc[data-astro-cid-lcdefpme]{transition-delay:var(--d)}.wc--wide[data-astro-cid-lcdefpme]{grid-column:span 2}.wc[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{border:1px solid var(--line);background:var(--surface);height:100%;color:var(--text);transition:transform .18s var(--ease-out), border-color .18s, background-color .18s;border-radius:12px;align-content:start;gap:10px;padding:20px;text-decoration:none;display:grid;position:relative}.wc[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{border-color:var(--line-2);background:var(--surface-2);transform:translateY(-2px)}.wc__q[data-astro-cid-lcdefpme]{padding-right:24px;font-size:1.125rem;font-weight:500;line-height:1.3}.wc__title[data-astro-cid-lcdefpme]{color:var(--text-2);font-size:.9375rem}.wc__meta[data-astro-cid-lcdefpme]{color:var(--text-2);margin-top:auto;font-size:.6875rem}.wc__go[data-astro-cid-lcdefpme]{color:var(--text-2);transition:color .18s, transform .18s var(--ease-out);position:absolute;top:18px;right:18px}.wc[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover .wc__go[data-astro-cid-lcdefpme]{color:var(--yellow);transform:translate(2px,-2px)}.thesis-band[data-astro-cid-lcdefpme]>.wrap[data-astro-cid-lcdefpme]{padding-block:clamp(56px,7vw,96px)}.thesis-band__p[data-astro-cid-lcdefpme]{color:var(--text-2);max-width:60ch;margin-top:12px}@media (width<=1000px){.work__grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.origin__copy[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.hero__actions[data-astro-cid-lcdefpme] .btn[data-astro-cid-lcdefpme]{flex:100%}.work__grid[data-astro-cid-lcdefpme]{grid-template-columns:1fr}.wc--wide[data-astro-cid-lcdefpme]{grid-column:auto}}
