.hero{position:relative;min-height:calc(100svh - var(--header-h));display:flex;align-items:center;padding:clamp(2.5rem,6vw,5rem) 0 clamp(4rem,8vw,6rem);overflow:clip}.hero__field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:radial-gradient(circle,var(--line-strong) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(520px circle at var(--mx, 70%) var(--my, 40%),#000 0%,rgba(0,0,0,.25) 55%,transparent 100%);mask-image:radial-gradient(520px circle at var(--mx, 70%) var(--my, 40%),#000 0%,rgba(0,0,0,.25) 55%,transparent 100%)}.hero__field:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px circle at var(--mx, 70%) var(--my, 40%),var(--glow),transparent 70%)}.hero__inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.hero__copy{container-type:inline-size}.hero__name{position:relative;margin:0 0 1.6rem;font-size:min(9rem,18.5cqi);font-weight:830;line-height:.86;letter-spacing:-.045em;font-variation-settings:var(--speed)}.hero__line{display:block;white-space:nowrap}.hero__line--shift{padding-left:.5em}.hero__bolt{display:inline-block;width:.46em;height:.72em;margin-left:.1em;vertical-align:0;overflow:visible}.hero__bolt path{fill:var(--volt);stroke:var(--volt);stroke-width:6;stroke-linejoin:round;filter:drop-shadow(0 0 18px var(--glow))}.hero__streaks{position:absolute;left:-.25em;top:1.02em;width:.78em;height:.72em;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.hero__streaks i{display:block;height:.045em;border-radius:99px;background:linear-gradient(90deg,transparent,var(--volt))}.hero__streaks i:nth-child(1){width:60%}.hero__streaks i:nth-child(2){width:95%}.hero__streaks i:nth-child(3){width:45%}.hero__streaks i:nth-child(4){width:80%}.hero__streaks i:nth-child(5){width:30%}.hero__role{margin:0 0 .6rem;font-size:var(--fs-lg);font-weight:620;line-height:1.3;letter-spacing:-.01em}.hero__intro{max-width:34rem;margin:0 0 2rem;color:var(--muted);font-size:var(--fs-md);line-height:1.55}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.2rem}.hero__facts{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:0;padding:0;list-style:none;color:var(--muted);font-size:var(--fs-sm)}.hero__facts li{display:inline-flex;align-items:center;gap:.5rem}.hero__facts i{color:var(--volt)}.motion-ok .hero__streaks i{transform-origin:right center;animation:streak .9s var(--ease-out) both}.motion-ok .hero__streaks i:nth-child(2){animation-delay:60ms}.motion-ok .hero__streaks i:nth-child(3){animation-delay:.12s}.motion-ok .hero__streaks i:nth-child(4){animation-delay:40ms}.motion-ok .hero__streaks i:nth-child(5){animation-delay:.16s}.motion-ok .hero__line{animation:lean-in 1.1s var(--ease-out) both}.motion-ok .hero__line--shift{animation-delay:.14s}.motion-ok .hero__bolt path{stroke-dasharray:1;animation:bolt-draw .6s .65s ease-in-out both,bolt-fill .5s 1.15s ease-out both}.motion-ok .hero__bolt{animation:bolt-flash .9s 1.15s ease-out both}.motion-ok .hero__role,.motion-ok .hero__intro,.motion-ok .hero__actions,.motion-ok .hero__facts{animation:rise .9s var(--ease-out) backwards}.motion-ok .hero__role{animation-delay:.55s}.motion-ok .hero__intro{animation-delay:.65s}.motion-ok .hero__actions{animation-delay:.75s}.motion-ok .hero__facts{animation-delay:.85s}.motion-ok .console{animation:console-in 1.1s .35s var(--ease-out) backwards}@keyframes streak{0%{transform:scaleX(0);opacity:0}40%{opacity:1}to{transform:scaleX(1);opacity:1}}@keyframes lean-in{0%{opacity:0;transform:translate(-.35em);clip-path:inset(0 100% 0 0);font-variation-settings:"slnt" 0,"SHRP" 0}to{opacity:1;transform:none;clip-path:inset(-40% -40% -40% -40%);font-variation-settings:var(--speed)}}@keyframes bolt-draw{0%{stroke-dashoffset:1;fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:0}}@keyframes bolt-fill{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes bolt-flash{0%{filter:brightness(1)}25%{filter:brightness(2.2) drop-shadow(0 0 30px var(--volt))}to{filter:brightness(1)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes console-in{0%{opacity:0;transform:translateY(30px) scale(.97)}}.console{position:relative;margin:0;overflow:hidden;border:1px solid var(--code-line);border-radius:var(--radius-lg);background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);font-size:.82rem;line-height:1.75;box-shadow:var(--shadow),0 0 0 1px rgba(var(--volt-rgb),.08),0 0 80px -20px var(--glow);transform:perspective(1200px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .6s var(--ease-out)}.console__bar{display:flex;align-items:center;gap:.25rem;height:40px;padding:0 .9rem;background:var(--code-bar);border-bottom:1px solid var(--code-line)}.console__dots{display:flex;gap:6px;margin-right:.8rem}.console__dots i{width:10px;height:10px;border-radius:50%;background:var(--code-line)}.console__dots i:first-child{background:var(--volt)}.console__tab{padding:.25rem .7rem;border-radius:5px;color:var(--syn-com);font-size:.75rem}.console__tab.is-active{background:var(--code-bg);color:var(--code-ink)}.console__code{min-height:calc(17.5em + 2.4rem);margin:0;padding:1.2rem 1.2rem 1.2rem 0;overflow-x:auto;counter-reset:line}.console__code .ln{display:block;padding-left:3.2rem;position:relative;white-space:pre}.console__code .ln:before{counter-increment:line;content:counter(line);position:absolute;left:0;width:2.2rem;text-align:right;color:var(--syn-com);opacity:.6}.tok-key{color:var(--syn-key)}.tok-prop{color:var(--syn-prop)}.tok-str{color:var(--syn-str)}.tok-num{color:var(--syn-num)}.tok-com{color:var(--syn-com);font-style:italic}.tok-punc{color:var(--syn-punc)}.caret{display:inline-block;width:.55em;height:1.15em;margin-left:1px;vertical-align:text-bottom;background:var(--volt);animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.console__term{min-height:calc(8.75em + 2rem);padding:1rem 1.2rem;border-top:1px solid var(--code-line);background:#00000040}.console__term pre{margin:0;font:inherit;white-space:pre-wrap}.term-prompt{color:var(--volt)}.term-ok{color:var(--syn-str)}.term-dim{color:var(--syn-com)}.term-val{color:var(--code-ink);font-weight:700}.about{border-top:1px solid var(--line)}.about__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:start}.about__statement{margin:0;font-size:var(--fs-xl);font-weight:660;line-height:1.16;letter-spacing:-.025em;font-variation-settings:var(--speed)}.about__body p{margin:0 0 1.2rem;color:var(--ink-soft);font-size:var(--fs-md);line-height:1.65}.about__body .hl{color:var(--ink);font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.filter{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:0 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:520;cursor:pointer;transition:all .25s ease}.filter:hover{border-color:var(--volt);color:var(--ink)}.filter[aria-pressed=true]{border-color:var(--volt);background:var(--volt);color:var(--volt-ink)}.filter__count{opacity:.65;font-variant-numeric:tabular-nums}.work-list{display:flex;flex-direction:column;gap:clamp(4rem,8vw,6.5rem)}.work-item{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.8rem,4.5vw,4rem);align-items:center}.work-item:nth-child(2n) .work-item__media{order:2}.work-item.is-hidden{display:none}.work-item__media{display:block;color:inherit;text-decoration:none}.work-item__media:hover .window__view img,.work-item__media:focus-visible .window__view img{transform:scale(1.04)}.work-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1rem;color:var(--muted);font-size:var(--fs-sm)}.work-item__title{margin:0 0 .9rem;font-size:var(--fs-xl);font-weight:740;line-height:1.05;letter-spacing:-.03em;font-variation-settings:var(--speed)}.work-item__title a{text-decoration:none}.work-item__title a:hover{color:var(--volt)}.work-item__desc{margin:0 0 1.4rem;color:var(--ink-soft);line-height:1.6}.work-skeleton{height:340px;border-radius:var(--radius-lg);background:linear-gradient(100deg,var(--bg-raise) 30%,var(--bg-sunk) 50%,var(--bg-raise) 70%);background-size:300% 100%;animation:shimmer 1.6s linear infinite}.work-skeleton--short{height:220px}@keyframes shimmer{to{background-position:-150% 0}}.services{background:var(--bg-sunk)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,4rem);margin:0;padding:0;list-style:none}.service{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1.2rem;padding:1.8rem 0;border-top:1px solid var(--line-strong)}.service__icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--volt);font-size:1.25rem;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.service:hover .service__icon{border-color:var(--volt);background:var(--volt);color:var(--volt-ink)}.service h3{margin:.2rem 0 .45rem;font-size:var(--fs-md);font-weight:650;letter-spacing:-.01em}.service p{margin:0;color:var(--muted);line-height:1.6}.path__track{position:relative;padding-left:76px}.path__rail{position:absolute;top:6px;bottom:6px;left:23px;width:2px;background:var(--line)}.path__rail span{display:block;height:100%;background:linear-gradient(var(--volt),var(--volt));box-shadow:0 0 14px var(--volt);transform:scaleY(var(--charge, 0));transform-origin:top}.path__steps{margin:0;padding:0;list-style:none}.path__step{position:relative;max-width:44rem;padding-bottom:clamp(2.5rem,5vw,3.5rem)}.path__step:last-child{padding-bottom:0}.path__node{position:absolute;top:0;left:-76px;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg);color:var(--muted);font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;transition:all .4s var(--ease-out)}.path__step.is-lit .path__node{border-color:var(--volt);background:var(--volt);color:var(--volt-ink);box-shadow:0 0 0 6px rgba(var(--volt-rgb),.15),0 0 24px var(--glow)}.path__period{margin:.55rem 0 .4rem;color:var(--volt);font-size:var(--fs-sm);font-weight:620}.path__step h3{margin:0 0 .3rem;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;font-variation-settings:var(--speed)}.path__org{margin:0 0 .6rem;color:var(--ink-soft);font-weight:500}.path__desc{margin:0;color:var(--muted);line-height:1.6}.stack{border-top:1px solid var(--line)}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill{display:flex;flex-direction:column;gap:1rem;padding:1.3rem 1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .3s ease}.skill:hover{background:var(--bg-raise)}.skill__head{display:flex;align-items:center;gap:.75rem}.skill__icon{width:30px;height:30px;object-fit:contain}.skill__name{flex:1;font-weight:600}.skill__value{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.meter{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.meter i{height:6px;border-radius:2px;background:var(--line);transition:background-color .25s ease,box-shadow .25s ease;transition-delay:calc(var(--i) * 55ms)}.skill.is-charged .meter i.on{background:var(--volt);box-shadow:0 0 8px rgba(var(--volt-rgb),.55)}.certs{margin-top:clamp(3rem,6vw,4.5rem)}.certs__title{margin:0 0 1.2rem;font-size:var(--fs-lg);font-weight:700;font-variation-settings:var(--speed)}.cert-list{margin:0;padding:0;list-style:none}.cert{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.cert img{width:72px;height:50px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line)}.cert h4{margin:0 0 .2rem;font-size:var(--fs-base);font-weight:620}.cert p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.oss{background:var(--bg-sunk)}.gh-profile{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;margin-bottom:2rem}.gh-profile__id{display:flex;align-items:center;gap:1rem;margin-right:auto}.gh-profile__id img{width:56px;height:56px;border-radius:50%;border:2px solid var(--volt)}.gh-profile__id strong{display:block;font-size:var(--fs-md)}.gh-profile__id span{color:var(--muted);font-size:var(--fs-sm)}.gh-stats{display:flex;gap:2rem;margin:0}.gh-stats div{display:flex;flex-direction:column-reverse}.gh-stats dt{color:var(--muted);font-size:var(--fs-sm)}.gh-stats dd{margin:0;font-size:var(--fs-lg);font-weight:720;font-variant-numeric:tabular-nums}.repo-list{margin:0 0 2rem;padding:0;list-style:none;border-bottom:1px solid var(--line-strong)}.repo{border-top:1px solid var(--line-strong)}.repo a{display:grid;grid-template-columns:minmax(0,1fr) 9rem 4.5rem 7.5rem;gap:1.5rem;align-items:center;padding:1.1rem .6rem;color:inherit;text-decoration:none;transition:background-color .25s ease,padding .35s var(--ease-out)}.repo a:hover{padding-left:1.2rem;background:var(--bg-raise)}.repo__name{display:block;font-weight:640}.repo a:hover .repo__name{color:var(--volt)}.repo__desc{display:block;margin-top:.15rem;overflow:hidden;color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis}.repo__lang,.repo__stars,.repo__date{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-soft);font-size:var(--fs-sm)}.repo__date{justify-content:flex-end;color:var(--muted)}.lang-dot{width:9px;height:9px;border-radius:50%}.gh-chart{margin:0 0 2rem;padding:1.2rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raise)}.gh-chart img{width:100%;height:auto}:root[data-theme=dark] .gh-chart img{filter:invert(1) hue-rotate(180deg) brightness(1.05)}.contact{border-top:1px solid var(--line)}.contact__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:start}.contact__intro .section__title{margin-bottom:1.2rem}.channels{margin:2.2rem 0 0;padding:0;list-style:none}.channels a{display:flex;align-items:center;gap:.9rem;padding:.9rem 0;border-top:1px solid var(--line);color:var(--ink-soft);text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease,gap .35s var(--ease-out)}.channels li:last-child a{border-bottom:1px solid var(--line)}.channels a:hover{gap:1.3rem;color:var(--volt)}.channels i{width:20px;color:var(--volt);text-align:center}.form{padding:clamp(1.4rem,3vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raise)}.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.field{margin-bottom:1.1rem}.field label{display:block;margin-bottom:.4rem;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:540}.field input,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .2s ease,box-shadow .2s ease}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--volt);box-shadow:0 0 0 4px rgba(var(--volt-rgb),.15)}.field textarea::placeholder{color:var(--muted)}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.form__note{max-width:22rem;margin:0;color:var(--muted);font-size:.8rem}.form__note a{color:var(--volt)}.form__status{min-height:1.6em;margin:1rem 0 0;font-weight:540}.form__status.is-success{color:var(--ok)}.form__status.is-error{color:var(--err)}@media(max-width:1000px){.hero__inner{grid-template-columns:1fr}.console{max-width:640px}}@media(max-width:800px){.about__grid,.contact__grid,.work-item{grid-template-columns:1fr}.work-item:nth-child(2n) .work-item__media{order:0}.service-list{grid-template-columns:1fr}.repo a{grid-template-columns:minmax(0,1fr) auto}.repo__lang,.repo__date{display:none}}@media(max-width:520px){.form__row{grid-template-columns:1fr}.hero__line--shift{padding-left:.4em}.console{font-size:.74rem}.path__track{padding-left:60px}.path__node{left:-60px;width:40px;height:40px}.path__rail{left:19px}.gh-stats{gap:1.4rem}}
