@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{color-scheme:dark;--black: #070402;--surface: #120a05;--accent: #f7931a;--accent-soft: #ffbd70;--text: #fff0e4;--muted: #a98b77;--line: #4a2814;font-family:IBM Plex Mono,monospace;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--black);color:var(--text)}body:before{position:fixed;z-index:-2;inset:0;background:radial-gradient(circle at 70% 8%,rgb(247 147 26 / .09),transparent 28rem);content:""}button,a{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:5px}.matrix-grid{position:fixed;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgb(247 147 26 / .04) 1px,transparent 1px);background-size:72px 100%;-webkit-mask-image:linear-gradient(to bottom,black,transparent 75%);mask-image:linear-gradient(to bottom,black,transparent 75%);pointer-events:none}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:8px 12px;transform:translateY(-160%);background:var(--accent);color:var(--black)}.skip-link:focus{transform:translateY(0)}main,.site-footer{width:min(1120px,calc(100% - 48px));margin-inline:auto}.site-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:68px;padding-inline:max(24px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line);background:#070402e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--text);font-size:.76rem;font-weight:600;letter-spacing:.12em;text-decoration:none}.brand span,.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.main-nav{display:flex;gap:28px}.main-nav a{color:var(--muted);font-size:.72rem;text-decoration:none;transition:color .2s}.main-nav a:hover{color:var(--accent)}.language-switch{display:flex;justify-self:end;gap:12px}.language-switch button{border:0;padding:5px 0;background:transparent;color:var(--muted);font-size:.68rem;cursor:pointer}.language-switch button[aria-pressed=true]{color:var(--accent)}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(16px,4vw,48px);min-height:calc(100vh - 68px);padding:12vh 0 9vh}.eyebrow{grid-column:1;margin:0;color:var(--accent);font-size:.68rem;font-weight:500;letter-spacing:.18em}.eyebrow:before{margin-right:10px;content:"//";opacity:.55}.hero h1{grid-column:1;max-width:16ch;margin:34px 0 0;font-size:clamp(3.5rem,10vw,8.4rem);font-weight:400;letter-spacing:-.075em;line-height:.88}.hero h1 span{color:var(--accent);text-shadow:0 0 34px rgb(247 147 26 / .25)}.hacker-bear{grid-column:2;grid-row:1 / 4;width:min(220px,26vw);opacity:.82}.hacker-bear svg{display:block;width:100%;overflow:visible;filter:drop-shadow(0 0 14px rgb(247 147 26 / .12))}.hacker-bear__figure{transform-box:fill-box;transform-origin:center;animation:hacker-float 3.2s ease-in-out infinite alternate}.hacker-bear__body{fill:#0d0805;stroke:#6b3b1b;stroke-width:3}.hacker-bear__ear{fill:#1c0f08;stroke:var(--accent);stroke-width:3}.hacker-bear__inner-ear{fill:#080503;stroke:#6b3b1b;stroke-width:2}.hacker-bear__face{stroke:#6b3b1b;stroke-width:3}.hacker-bear__brows{fill:none;stroke:#140a05;stroke-linecap:round;stroke-width:4}.hacker-bear__eyes{fill:var(--accent-soft);filter:drop-shadow(0 0 5px var(--accent));transform-box:fill-box;transform-origin:center;animation:hacker-blink 4s ease-in-out infinite}.hacker-bear__muzzle{fill:#8d5630}.hacker-bear__nose{fill:var(--black)}.hacker-bear__mouth{fill:none;stroke:var(--black);stroke-linecap:round;stroke-width:2}.hacker-bear__shadow{fill:var(--accent);opacity:.14;filter:blur(3px);transform-box:fill-box;transform-origin:center;animation:hacker-shadow 3.2s ease-in-out infinite alternate}.hacker-bear__paws{fill:#8d5630;stroke:var(--black);stroke-width:4;transform-box:fill-box;transform-origin:center;animation:hacker-type .42s ease-in-out infinite alternate}.hacker-bear__claws{fill:none;stroke:#2b160a;stroke-linecap:round;stroke-width:2}.hacker-bear__case{stroke:var(--accent);stroke-width:3}.hacker-bear__base{fill:#0a0705;stroke:var(--accent);stroke-width:3}.hacker-bear__lid-sheen{fill:var(--accent-soft);opacity:.08}.hacker-bear__screws{fill:var(--accent-soft);opacity:.7}.hacker-bear__hinge{fill:none;stroke:var(--accent-soft);stroke-linecap:round;stroke-width:2}.hero__footer{display:flex;grid-column:1;align-items:flex-end;gap:40px;margin-top:9vh;border-top:1px solid var(--line);padding-top:24px}.hero__footer p{max-width:520px;margin:0;color:var(--muted);font-size:clamp(.86rem,1.4vw,1rem);line-height:1.7}.project__links a:first-child{color:var(--accent)}.section{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(50px,9vw,130px);border-top:1px solid var(--line);padding:120px 0}.section-heading h2{margin:20px 0 0;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:400;letter-spacing:-.06em;line-height:1}.section-heading>p:last-child{max-width:330px;margin:30px 0 0;color:var(--muted);font-size:.78rem;line-height:1.7}.projects{display:block}.projects>.section-heading{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(50px,9vw,130px);align-items:end;margin-bottom:70px}.projects>.section-heading .eyebrow{grid-column:1 / -1}.projects>.section-heading>p:last-child{margin:0}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:44px minmax(190px,.7fr) minmax(280px,1.3fr);gap:28px;border-bottom:1px solid var(--line);padding:34px 0;transition:background .25s,padding .25s}.project:hover{padding-inline:16px;background:#f7931a08}.project__index{padding-top:5px;color:var(--accent);font-size:.65rem}.project h3{margin:0;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:400;letter-spacing:-.04em}.project ul{display:flex;gap:7px 12px;flex-wrap:wrap;margin:14px 0 0;padding:0;color:var(--muted);font-size:.62rem;list-style:none}.project li+li:before{margin-right:12px;color:var(--line);content:"/"}.project__detail p{max-width:570px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.7}.project__links{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:22px}.project__links a{font-size:.7rem;text-decoration:none}.project__links a:hover,.contact__links a:hover{color:var(--accent-soft)}.project__block{margin-left:auto;color:var(--muted);font-size:.58rem;letter-spacing:.06em}.more-projects{margin-top:44px}.more-projects>button{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);padding:18px 0;background:transparent;color:var(--accent);font-size:.74rem;cursor:pointer}#other-projects{padding-top:28px}.more-projects__status{margin:0;padding:30px 0;color:var(--muted);font-size:.72rem;text-align:center}.repo-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.repo-card{display:flex;min-height:180px;flex-direction:column;padding:24px;background:var(--black);text-decoration:none;transition:background .2s}.repo-card:hover{background:var(--surface)}.repo-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.repo-card h3{margin:0;font-size:.9rem;font-weight:400;overflow-wrap:anywhere}.repo-card__heading span,.repo-card>span{color:var(--accent);font-size:.58rem}.repo-card p{margin:20px 0;color:var(--muted);font-size:.7rem;line-height:1.6}.repo-card>span{margin-top:auto}.repo-list__fallback{grid-column:1 / -1;padding:30px;background:var(--black);color:var(--accent);font-size:.72rem;text-align:center}.about__portrait{display:block;width:160px;margin-top:44px;border:1px solid var(--line);padding:6px;transition:border-color .2s,box-shadow .2s}.about__portrait:hover{border-color:var(--accent);box-shadow:0 0 24px #f7931a1f}.about__portrait img{display:block;width:100%;height:auto;filter:grayscale(.35) contrast(1.05)}.about__copy p{max-width:650px;margin:0 0 24px;color:var(--muted);font-size:clamp(.9rem,1.6vw,1.08rem);line-height:1.8}.about__copy .values{margin-top:45px;color:var(--accent-soft);font-size:.72rem}.contact{align-items:end}.contact__links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.contact__links a{padding:24px;background:var(--black);color:var(--text);font-size:.76rem;text-decoration:none;transition:color .2s,background .2s}.contact__links a:hover{background:var(--surface)}.site-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:28px 0 48px;color:var(--muted);font-size:.64rem;letter-spacing:.08em}.site-footer>span:last-child{display:flex;align-items:center}.status-dot{display:inline-block;margin-right:8px}#block-number{margin-left:.45em}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal--visible{opacity:1;transform:translateY(0)}@keyframes hacker-float{to{transform:translateY(-7px)}}@keyframes hacker-blink{0%,46%,52%,to{transform:scaleY(1)}49%{transform:scaleY(.12)}}@keyframes hacker-type{to{transform:translateY(3px) rotate(1deg)}}@keyframes hacker-shadow{to{opacity:.08;transform:scaleX(.82)}}@media(max-width:1024px){.hero{grid-template-columns:1fr;min-height:auto;row-gap:22px;padding:28px 0 56px}.hacker-bear{grid-column:1;grid-row:auto;width:min(168px,42vw);margin:0 auto;opacity:.9}.hero h1{font-size:clamp(2.6rem,12vw,5rem);line-height:.94}}@media(max-width:760px){main,.site-footer{width:min(100% - 30px,1120px)}.site-header{grid-template-columns:1fr auto;padding-inline:max(15px,calc((100% - 1120px)/2))}.main-nav{display:none}.hero__footer{align-items:flex-start;flex-direction:column}.section,.projects>.section-heading{grid-template-columns:1fr;gap:45px}.section{padding:85px 0}.projects>.section-heading .eyebrow{grid-column:auto}.project{grid-template-columns:34px 1fr;gap:22px 12px}.project__detail{grid-column:2}.project:hover{padding-inline:0;background:transparent}.project__block{flex-basis:100%;margin-left:0;text-align:right}.about__portrait{width:120px;margin-top:28px}.repo-list,.contact__links{grid-template-columns:1fr}.site-footer{align-items:flex-start;gap:14px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
