.hero-section[data-astro-cid-bbe6dxrz]{position:relative;display:flex;align-items:center;overflow:hidden;padding:9rem 1.5rem 4rem}.hero-content[data-astro-cid-bbe6dxrz]{position:relative;z-index:1;width:100%;max-width:64rem;margin:0 auto}.hero-text[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;gap:1rem}.hero-name-row[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-photo[data-astro-cid-bbe6dxrz]{width:clamp(6.5rem,30vw,8.5rem);flex-shrink:0;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}.hero-photo[data-astro-cid-bbe6dxrz] img{display:block;width:100%;height:auto}@media(min-width:768px){.hero-content[data-astro-cid-bbe6dxrz]{--photo-w: clamp(10.5rem, 18vw, 14.5rem);padding-right:calc(var(--photo-w) + 2.5rem)}.hero-name-row[data-astro-cid-bbe6dxrz]{display:block}.hero-photo[data-astro-cid-bbe6dxrz]{position:absolute;right:0;inset-block:0;margin-block:auto;height:fit-content;width:var(--photo-w)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-item[data-astro-cid-bbe6dxrz]{opacity:0;animation:fadeInUp .55s cubic-bezier(.22,1,.36,1) forwards}.hero-comment[data-astro-cid-bbe6dxrz]{font-size:.9rem;color:var(--text-muted);letter-spacing:.05em;margin-bottom:.25rem}.hero-greeting[data-astro-cid-bbe6dxrz]{font-size:clamp(1.2rem,3vw,1.5rem);color:var(--text-primary);display:flex;align-items:center;gap:0}.greeting-arrow[data-astro-cid-bbe6dxrz]{color:var(--text-accent);font-weight:700;text-shadow:var(--glow-sm)}.hero-name[data-astro-cid-bbe6dxrz]{font-size:clamp(2.25rem,5vw,3rem);font-weight:700;line-height:1.05;color:var(--text-primary);letter-spacing:-.02em;margin-top:.25rem}.hero-typing-row[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;min-height:3rem;margin-top:.25rem}.typed-text[data-astro-cid-bbe6dxrz]{font-size:clamp(1.2rem,3.5vw,1.6rem);color:var(--text-accent);text-shadow:var(--glow-sm);font-weight:500;letter-spacing:.02em}.typing-cursor[data-astro-cid-bbe6dxrz]{display:inline-block;width:.55em;height:1.15em;background-color:var(--text-accent);vertical-align:text-bottom;margin-left:3px;box-shadow:var(--glow-sm)}.hero-bio[data-astro-cid-bbe6dxrz]{font-size:1.25rem;color:var(--text-muted);line-height:1.8;max-width:44rem;margin-top:.5rem}.hero-bio[data-astro-cid-bbe6dxrz] strong[data-astro-cid-bbe6dxrz]{color:var(--text-accent);font-weight:600;text-shadow:var(--glow-sm)}.hero-bio[data-astro-cid-bbe6dxrz] em[data-astro-cid-bbe6dxrz]{color:var(--text-primary);font-style:normal}.hero-socials[data-astro-cid-bbe6dxrz]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.social-pill[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;letter-spacing:.05em;color:var(--text-muted);border:1px solid rgba(255,255,255,.08);border-radius:9999px;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease}.social-pill[data-astro-cid-bbe6dxrz] svg{width:1.05rem;height:1.05rem;flex-shrink:0}.social-pill[data-astro-cid-bbe6dxrz]:hover{color:var(--text-accent);border-color:var(--border-accent);box-shadow:var(--glow-sm)}.social-pill--primary[data-astro-cid-bbe6dxrz]{color:var(--text-accent);border-color:var(--text-accent);box-shadow:var(--glow-sm);transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.social-pill--primary[data-astro-cid-bbe6dxrz]:hover{background-color:var(--text-accent);color:var(--bg-primary);border-color:var(--text-accent);box-shadow:var(--glow-md)}@media(max-width:640px){.hero-section[data-astro-cid-bbe6dxrz]{align-items:flex-start;padding:7rem 1.25rem 3rem}.hero-name[data-astro-cid-bbe6dxrz]{letter-spacing:-.03em}}.about-section[data-astro-cid-v2cbyr3p]{padding:2rem 1.5rem}.about-inner[data-astro-cid-v2cbyr3p]{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.about-header[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:.25rem}.label-prefix[data-astro-cid-v2cbyr3p]{font-weight:400}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:768px){.about-grid[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr 1fr;align-items:start;gap:3.5rem}}.about-paragraph[data-astro-cid-v2cbyr3p]{font-size:clamp(1rem,2vw,1.1rem);color:var(--text-muted);line-height:1.85;margin-bottom:1.1rem}.about-paragraph[data-astro-cid-v2cbyr3p]:last-child{margin-bottom:0}.terminal-window[data-astro-cid-v2cbyr3p]{border:1px solid var(--border-accent);border-radius:8px;overflow:hidden;box-shadow:var(--glow-sm),0 16px 40px #00000080;font-size:.82rem}.terminal-title[data-astro-cid-v2cbyr3p]{margin-left:.5rem;font-size:.75rem;color:var(--text-muted);letter-spacing:.04em}.terminal-body[data-astro-cid-v2cbyr3p]{padding:1.1rem 1.25rem 1rem;background:#0a0a0af7;display:flex;flex-direction:column;gap:.2rem}.terminal-line[data-astro-cid-v2cbyr3p]{display:flex;align-items:baseline;flex-wrap:wrap}.t-output[data-astro-cid-v2cbyr3p]{margin:.5rem 0 .3rem .4rem;display:flex;flex-direction:column;gap:.15rem}.t-brace[data-astro-cid-v2cbyr3p]{color:var(--text-primary)}.t-prop[data-astro-cid-v2cbyr3p]{display:flex;flex-wrap:wrap;align-items:baseline;padding-left:1.2rem}html.js .t-prop[data-astro-cid-v2cbyr3p]{opacity:0;animation:propReveal .4s ease forwards}.t-prompt[data-astro-cid-v2cbyr3p]{color:var(--text-accent);text-shadow:var(--glow-sm);font-weight:700}.t-cmd[data-astro-cid-v2cbyr3p]{color:#61afef}.t-paren[data-astro-cid-v2cbyr3p]{color:#abb2bf}.t-string[data-astro-cid-v2cbyr3p]{color:#98c379}.t-key[data-astro-cid-v2cbyr3p]{color:#e06c75}.t-number[data-astro-cid-v2cbyr3p]{color:#d19a66}.t-colon[data-astro-cid-v2cbyr3p],.t-array[data-astro-cid-v2cbyr3p]{color:#abb2bf}.t-idle[data-astro-cid-v2cbyr3p]{margin-top:.35rem}.t-cursor-idle[data-astro-cid-v2cbyr3p]{display:inline-block;width:.5em;height:.85em;background-color:var(--text-accent);vertical-align:text-bottom;box-shadow:var(--glow-sm)}#about[data-astro-cid-v2cbyr3p] .reveal[data-astro-cid-v2cbyr3p]{transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}html.js #about[data-astro-cid-v2cbyr3p] .reveal[data-astro-cid-v2cbyr3p]{transform:translateY(22px)}html.js #about[data-astro-cid-v2cbyr3p] .reveal[data-astro-cid-v2cbyr3p].is-visible{transform:translateY(0)}@keyframes propReveal{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}html.js .reveal[data-astro-cid-v2cbyr3p]:not(.is-visible) .t-prop[data-astro-cid-v2cbyr3p]{animation:none}.projects-section[data-astro-cid-amng4zvp]{padding:4rem 1.5rem}.projects-inner[data-astro-cid-amng4zvp]{max-width:68rem;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.projects-header[data-astro-cid-amng4zvp],.projects-subheader[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;gap:.4rem}.section-meta[data-astro-cid-amng4zvp]{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;letter-spacing:.06em}.projects-stack[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;gap:2.5rem;width:100%;max-width:52rem;margin-inline:auto}.stack-card[data-astro-cid-amng4zvp]{--stick: 5.5rem;position:sticky;top:calc(var(--stick) + var(--peek, 0px));display:flex;flex-direction:column;border:1px solid var(--border-accent);border-radius:6px;overflow:hidden;background:var(--bg-secondary);box-shadow:var(--glow-sm),0 -8px 40px #00000073,0 24px 50px #00000073;transform-origin:center top;will-change:transform,filter}.stack-body[data-astro-cid-amng4zvp]{gap:1.25rem;padding:1.35rem 1.5rem 1.1rem}.stack-text[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;gap:0;min-width:0}.stack-card[data-astro-cid-amng4zvp]{--shot-w: 22rem;--shot-h: 16.5rem}@media(min-width:768px){.stack-card[data-astro-cid-amng4zvp] .stack-body[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:var(--shot-w) 1fr;align-items:start}.stack-card[data-astro-cid-amng4zvp] .stack-shot[data-astro-cid-amng4zvp]{height:var(--shot-h)}.stack-card[data-astro-cid-amng4zvp] .stack-text-main[data-astro-cid-amng4zvp]{min-height:var(--shot-h)}}.stack-text-main[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;gap:.9rem;min-width:0}.stack-card[data-astro-cid-amng4zvp] .stack-text-main[data-astro-cid-amng4zvp] .card-tags[data-astro-cid-amng4zvp]{margin-top:auto}.stack-card[data-astro-cid-amng4zvp] .card-links[data-astro-cid-amng4zvp]{padding-top:.75rem}.stack-shot[data-astro-cid-amng4zvp]{margin:0;border:1px solid var(--border-accent);border-radius:4px;overflow:hidden;line-height:0}.stack-shot[data-astro-cid-amng4zvp] img[data-astro-cid-amng4zvp]{width:100%;height:100%;object-fit:cover;object-position:top}.stack-heading[data-astro-cid-amng4zvp]{font-size:1.15rem;line-height:1.25;color:var(--text-primary);letter-spacing:-.01em}.stack-card[data-astro-cid-amng4zvp] .card-description[data-astro-cid-amng4zvp]{font-size:1rem;flex:0 0 auto}.projects-grid[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.projects-grid[data-astro-cid-amng4zvp]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.projects-grid[data-astro-cid-amng4zvp]{grid-template-columns:repeat(3,1fr)}}.project-card[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;border:1px solid var(--border-accent);border-radius:6px;overflow:hidden;background:var(--bg-secondary);box-shadow:var(--glow-sm),0 4px 20px #0006;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.project-card[data-astro-cid-amng4zvp]:hover{border-color:var(--text-accent);box-shadow:var(--glow-md),0 8px 32px #00000080;transform:translateY(-4px)}.card-titlebar[data-astro-cid-amng4zvp]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;background:#00000059;border-bottom:1px solid var(--border-accent);user-select:none}.card-titlebar-left[data-astro-cid-amng4zvp]{display:flex;align-items:center;gap:.55rem;min-width:0}.card-title[data-astro-cid-amng4zvp]{font-size:.78rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.status-dot[data-astro-cid-amng4zvp]{display:block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-prod[data-astro-cid-amng4zvp]{background:var(--text-accent);box-shadow:0 0 5px #00ff41b3}.status-dev[data-astro-cid-amng4zvp]{background:#febc2e;box-shadow:0 0 5px #febc2e99;animation:pulse-dev 1.8s ease-in-out infinite}.status-oss[data-astro-cid-amng4zvp]{background:#5ccfe6;box-shadow:0 0 5px #5ccfe699}@keyframes pulse-dev{0%,to{opacity:1;box-shadow:0 0 5px #febc2e99}50%{opacity:.5;box-shadow:0 0 12px #febc2e4d}}@media(prefers-reduced-motion:reduce){.status-dev[data-astro-cid-amng4zvp]{animation:none}}.status-badge[data-astro-cid-amng4zvp]{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.15rem .5rem;border-radius:3px;flex-shrink:0;font-weight:600}.badge-prod[data-astro-cid-amng4zvp]{color:var(--text-accent);background:#00ff4114;border:1px solid rgba(0,255,65,.25)}.badge-dev[data-astro-cid-amng4zvp]{color:#febc2e;background:#febc2e14;border:1px solid rgba(254,188,46,.25)}.badge-oss[data-astro-cid-amng4zvp]{color:#5ccfe6;background:#5ccfe614;border:1px solid rgba(92,207,230,.25)}.card-body[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;flex:1;padding:1rem 1.1rem .9rem;gap:.9rem}.card-description[data-astro-cid-amng4zvp]{font-size:1rem;color:var(--text-muted);line-height:1.75;flex:1}html.js .grid-card[data-astro-cid-amng4zvp] .card-description[data-astro-cid-amng4zvp]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;flex:0 0 auto}html.js .grid-card[data-astro-cid-amng4zvp].is-expanded .card-description[data-astro-cid-amng4zvp]{display:block;overflow:visible;flex:1}html.js .stack-card[data-astro-cid-amng4zvp] .card-description[data-astro-cid-amng4zvp]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}html.js .stack-card[data-astro-cid-amng4zvp].is-expanded .card-description[data-astro-cid-amng4zvp]{display:block;overflow:visible}.card-more[data-astro-cid-amng4zvp]{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;margin-top:-.4rem;padding:.15rem 0;background:none;border:0;font:inherit;font-size:.75rem;letter-spacing:.06em;color:var(--text-accent);cursor:pointer;transition:text-shadow .2s ease,opacity .2s ease}.card-more[data-astro-cid-amng4zvp][hidden]{display:none}.card-more[data-astro-cid-amng4zvp]:hover{text-shadow:var(--glow-sm)}.card-more[data-astro-cid-amng4zvp]:focus-visible{outline:1px solid var(--text-accent);outline-offset:3px;border-radius:2px}.more-prefix[data-astro-cid-amng4zvp]{opacity:.6}.card-tags[data-astro-cid-amng4zvp]{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin-top:auto}.stack-card[data-astro-cid-amng4zvp] .card-tags[data-astro-cid-amng4zvp]{margin-top:0}.tag[data-astro-cid-amng4zvp]{font-size:.75rem;letter-spacing:.07em;padding:.2rem .55rem;border:1px solid var(--border-accent);border-radius:3px;color:var(--text-accent);background:#00ff410a;transition:background .2s ease,box-shadow .2s ease}.project-card[data-astro-cid-amng4zvp]:hover .tag[data-astro-cid-amng4zvp],.stack-card[data-astro-cid-amng4zvp]:hover .tag[data-astro-cid-amng4zvp]{background:#00ff4114;box-shadow:0 0 4px #00ff4133}.card-links[data-astro-cid-amng4zvp]{display:flex;align-items:center;gap:.75rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.05)}.card-link[data-astro-cid-amng4zvp]{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .9rem;border-radius:9999px;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);transition:color .2s ease,border-color .2s ease,box-shadow .2s ease;z-index:0}.card-link[data-astro-cid-amng4zvp]:before{content:"";position:absolute;inset:0;background:var(--text-accent);width:0;transition:width .3s ease;z-index:-1}.card-link[data-astro-cid-amng4zvp] svg[data-astro-cid-amng4zvp]{width:13px;height:13px;flex-shrink:0}.card-link[data-astro-cid-amng4zvp]:hover{color:var(--bg-primary);border-color:var(--border-accent);box-shadow:var(--glow-sm)}.card-link[data-astro-cid-amng4zvp]:hover:before{width:100%}.card-link--demo[data-astro-cid-amng4zvp]{color:var(--text-accent);border-color:var(--border-accent);box-shadow:var(--glow-sm)}.card-link--demo[data-astro-cid-amng4zvp]:hover{color:var(--bg-primary);box-shadow:var(--glow-md)}.card-link--private[data-astro-cid-amng4zvp]{opacity:.35;cursor:default;pointer-events:none}@media(max-width:767px){.stack-shot[data-astro-cid-amng4zvp]{aspect-ratio:16 / 9}html.js .stack-card[data-astro-cid-amng4zvp] .card-description[data-astro-cid-amng4zvp]{-webkit-line-clamp:3;line-clamp:3}.projects-grid[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;gap:2.5rem}.grid-card[data-astro-cid-amng4zvp]{--stick: 5.5rem;position:sticky;top:calc(var(--stick) + var(--peek, 0px))}}html.js #projects[data-astro-cid-amng4zvp] .reveal[data-astro-cid-amng4zvp]{transform:translateY(20px)}html.js #projects[data-astro-cid-amng4zvp] .reveal[data-astro-cid-amng4zvp].is-visible{transform:translateY(0)}.exp-section[data-astro-cid-xpq65ryk]{padding:4rem 1.5rem}.exp-inner[data-astro-cid-xpq65ryk]{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.exp-header[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:.4rem}.section-meta[data-astro-cid-xpq65ryk]{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;letter-spacing:.06em}.timeline[data-astro-cid-xpq65ryk]{list-style:none;padding:0;display:flex;flex-direction:column;gap:0;position:relative}.timeline-item[data-astro-cid-xpq65ryk]{display:grid;grid-template-columns:2rem 1fr;gap:0 1.25rem;position:relative}.timeline-node-col[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;align-items:center;padding-top:.25rem;position:relative}.timeline-node-col[data-astro-cid-xpq65ryk]:after{content:"";position:absolute;top:1.1rem;bottom:-1rem;width:1px;background:linear-gradient(to bottom,var(--border-accent),rgba(0,255,65,.08))}.timeline-item[data-astro-cid-xpq65ryk]:last-child .timeline-node-col[data-astro-cid-xpq65ryk]:after{display:none}.node[data-astro-cid-xpq65ryk]{display:block;width:10px;height:10px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-accent);box-shadow:0 0 0 2px var(--bg-primary);flex-shrink:0;transition:border-color .3s ease,box-shadow .3s ease;position:relative;z-index:1}.timeline-item[data-astro-cid-xpq65ryk].is-visible .node[data-astro-cid-xpq65ryk]{border-color:var(--text-accent);box-shadow:0 0 0 2px var(--bg-primary),var(--glow-sm)}.node--highlight[data-astro-cid-xpq65ryk]{width:16px;height:16px;background:#00ff4126;border:2px solid var(--text-accent);box-shadow:0 0 0 3px var(--bg-primary),var(--glow-sm);margin-top:-3px}.timeline-item[data-astro-cid-xpq65ryk].is-visible .node--highlight[data-astro-cid-xpq65ryk]{background:#00ff4133;box-shadow:0 0 0 3px var(--bg-primary),var(--glow-md);animation:pulse-node 2.5s ease-in-out infinite}@keyframes pulse-node{0%,to{box-shadow:0 0 0 3px var(--bg-primary),var(--glow-sm)}50%{box-shadow:0 0 0 3px var(--bg-primary),var(--glow-md)}}.commit-card[data-astro-cid-xpq65ryk]{padding-bottom:2.5rem;display:flex;flex-direction:column;gap:.45rem}.timeline-item[data-astro-cid-xpq65ryk]:last-child .commit-card[data-astro-cid-xpq65ryk]{padding-bottom:0}.commit-meta[data-astro-cid-xpq65ryk]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.06em}.commit-hash[data-astro-cid-xpq65ryk]{color:var(--text-accent);opacity:.6;font-size:.75rem;letter-spacing:.1em}.commit-sep[data-astro-cid-xpq65ryk]{color:var(--text-muted);opacity:.4}.commit-period[data-astro-cid-xpq65ryk]{color:var(--text-muted)}.highlight-badge[data-astro-cid-xpq65ryk]{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-accent);background:#00ff4114;border:1px solid rgba(0,255,65,.25);padding:.1rem .45rem;border-radius:3px}.commit-role[data-astro-cid-xpq65ryk]{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700;color:var(--text-primary);line-height:1.3}.commit-company[data-astro-cid-xpq65ryk]{font-size:.82rem;color:var(--text-accent);text-shadow:var(--glow-sm);display:flex;align-items:center;gap:0}.company-arrow[data-astro-cid-xpq65ryk]{font-weight:700;opacity:.7}.commit-description[data-astro-cid-xpq65ryk]{font-size:1rem;color:var(--text-muted);line-height:1.8;max-width:52rem}.commit-tags[data-astro-cid-xpq65ryk]{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin-top:.15rem}.tag[data-astro-cid-xpq65ryk]{font-size:.75rem;letter-spacing:.07em;padding:.18rem .5rem;border:1px solid var(--border-accent);border-radius:3px;color:var(--text-accent);background:#00ff410a}@media(max-width:480px){.timeline-item[data-astro-cid-xpq65ryk]{grid-template-columns:1.25rem 1fr;gap:0 .875rem}.node[data-astro-cid-xpq65ryk]{width:8px;height:8px}.node--highlight[data-astro-cid-xpq65ryk]{width:12px;height:12px;margin-top:-2px}.commit-card[data-astro-cid-xpq65ryk]{padding-bottom:2rem}}.tech-section[data-astro-cid-lfow52u2]{padding:4rem 1.5rem}.tech-inner[data-astro-cid-lfow52u2]{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.tech-header[data-astro-cid-lfow52u2]{display:flex;flex-direction:column;gap:.4rem}.section-meta[data-astro-cid-lfow52u2]{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;letter-spacing:.06em}.tech-grid[data-astro-cid-lfow52u2]{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}@media(min-width:640px){.tech-grid[data-astro-cid-lfow52u2]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.tech-grid[data-astro-cid-lfow52u2]{grid-template-columns:repeat(3,1fr)}}.tech-card[data-astro-cid-lfow52u2]{border:1px solid var(--border-accent);border-radius:6px;background:var(--bg-secondary);overflow:hidden;box-shadow:0 2px 12px #00000059;transition:border-color .25s ease,box-shadow .25s ease}.tech-card[data-astro-cid-lfow52u2]:hover{border-color:var(--text-accent);box-shadow:var(--glow-sm),0 4px 20px #0006}.card-header[data-astro-cid-lfow52u2]{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#0000004d;border-bottom:1px solid var(--border-accent)}.card-icon[data-astro-cid-lfow52u2]{font-size:.85rem;line-height:1}.card-pkg[data-astro-cid-lfow52u2]{font-size:.75rem;color:var(--text-accent);letter-spacing:.06em;text-shadow:var(--glow-sm)}.skill-tree[data-astro-cid-lfow52u2]{list-style:none;padding:.75rem .9rem 0;display:flex;flex-direction:column;gap:0}.skill-row[data-astro-cid-lfow52u2]{display:grid;grid-template-columns:2.2rem 1fr auto;align-items:baseline;gap:0 .35rem;padding:.28rem 0;transition:background .15s ease;border-radius:3px;cursor:default}.skill-row[data-astro-cid-lfow52u2]:hover{background:#00ff410a}.tree-connector[data-astro-cid-lfow52u2]{color:var(--text-muted);opacity:.45;font-size:.75rem;letter-spacing:-.04em;user-select:none;white-space:nowrap}.skill-name[data-astro-cid-lfow52u2]{font-size:.78rem;color:var(--text-primary);letter-spacing:.02em;transition:color .2s ease,text-shadow .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-row[data-astro-cid-lfow52u2]:hover .skill-name[data-astro-cid-lfow52u2]{color:var(--text-accent);text-shadow:var(--glow-sm)}.card-footer[data-astro-cid-lfow52u2]{display:flex;align-items:center;gap:.4rem;padding:.55rem .9rem .75rem;font-size:.75rem;color:var(--text-muted);user-select:none}.footer-tree[data-astro-cid-lfow52u2]{letter-spacing:-.04em}.footer-count[data-astro-cid-lfow52u2]{letter-spacing:.04em}.contact-section[data-astro-cid-xmivup5a]{padding:4rem 1.5rem}.contact-inner[data-astro-cid-xmivup5a]{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.contact-header[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.4rem}.section-meta[data-astro-cid-xmivup5a]{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;letter-spacing:.06em}.meta-ok[data-astro-cid-xmivup5a]{color:var(--text-accent);opacity:.8}.contact-grid[data-astro-cid-xmivup5a]{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:768px){.contact-grid[data-astro-cid-xmivup5a]{grid-template-columns:1fr .85fr;align-items:start;gap:3rem}}.form-terminal[data-astro-cid-xmivup5a]{border:1px solid var(--border-accent);border-radius:8px;overflow:hidden;box-shadow:var(--glow-sm),0 12px 36px #00000073}.terminal-title[data-astro-cid-xmivup5a]{margin-left:.5rem;font-size:.75rem;color:var(--text-muted);letter-spacing:.04em}.terminal-body[data-astro-cid-xmivup5a]{padding:1.1rem 1.25rem 1.4rem;background:#0a0a0af7;display:flex;flex-direction:column;gap:1.1rem}.cmd-line[data-astro-cid-xmivup5a]{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.prompt[data-astro-cid-xmivup5a]{color:var(--text-accent);text-shadow:var(--glow-sm);font-weight:700}.cmd-text[data-astro-cid-xmivup5a]{color:var(--text-primary);opacity:.75}.cmd-cursor[data-astro-cid-xmivup5a]{display:inline-block;width:.5em;height:.85em;background:var(--text-accent);vertical-align:text-bottom;box-shadow:var(--glow-sm)}.contact-form[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.9rem}.field-group[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.3rem}.field-label[data-astro-cid-xmivup5a]{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted);letter-spacing:.06em;cursor:text;user-select:none}.field-arrow[data-astro-cid-xmivup5a]{color:var(--text-accent);opacity:.7;font-weight:700}.field-required[data-astro-cid-xmivup5a]{color:var(--text-accent);opacity:.5;font-size:.75rem}.field-input[data-astro-cid-xmivup5a]{width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.5rem .75rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;caret-color:var(--text-accent)}.field-input[data-astro-cid-xmivup5a]::placeholder{color:transparent}.field-input[data-astro-cid-xmivup5a]:focus{border-color:var(--text-accent);box-shadow:var(--glow-sm);background:#00ff4108}.field-textarea[data-astro-cid-xmivup5a]{resize:vertical;min-height:7rem;max-height:7rem;line-height:1.6}.form-footer[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem}.btn-submit[data-astro-cid-xmivup5a]{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:inherit;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-accent);background:transparent;border:1px solid var(--text-accent);border-radius:9999px;cursor:pointer;box-shadow:var(--glow-sm);transition:background .2s ease,color .2s ease,box-shadow .2s ease;align-self:flex-start}.btn-submit[data-astro-cid-xmivup5a]:hover:not(:disabled){background:var(--text-accent);color:var(--bg-primary);box-shadow:var(--glow-md)}.btn-submit[data-astro-cid-xmivup5a]:disabled{opacity:.5;cursor:not-allowed}.btn-prefix[data-astro-cid-xmivup5a]{color:inherit;opacity:.7;font-size:.85em}.form-status[data-astro-cid-xmivup5a]{font-size:.75rem;letter-spacing:.05em;min-height:1rem}.form-status[data-astro-cid-xmivup5a].status-ok{color:var(--text-accent)}.form-status[data-astro-cid-xmivup5a].status-error{color:#ff5f57}.contact-info[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:1.5rem;padding-top:.5rem}.info-intro[data-astro-cid-xmivup5a]{font-size:1rem;color:var(--text-muted);display:flex;align-items:center;gap:0}.info-prompt[data-astro-cid-xmivup5a]{color:var(--text-accent);font-weight:700;opacity:.7}.info-links[data-astro-cid-xmivup5a]{list-style:none;padding:0;display:flex;flex-direction:column;gap:.1rem}html.js .info-item[data-astro-cid-xmivup5a]{opacity:0;animation:slideIn .4s ease forwards}html.js .reveal[data-astro-cid-xmivup5a]:not(.is-visible) .info-item[data-astro-cid-xmivup5a]{animation:none}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.info-link[data-astro-cid-xmivup5a]{display:grid;grid-template-columns:2.2rem 4.5rem auto 1fr;align-items:baseline;gap:0 .5rem;padding:.55rem .6rem;border-radius:4px;transition:background .15s ease;text-decoration:none}.info-link[data-astro-cid-xmivup5a]:hover{background:#00ff410d}.info-prefix[data-astro-cid-xmivup5a]{display:flex;align-items:center;justify-content:flex-end;color:var(--text-accent);opacity:.55}.info-prefix[data-astro-cid-xmivup5a] svg{width:.6rem;height:.6rem;flex-shrink:0;vertical-align:middle}.info-label[data-astro-cid-xmivup5a]{font-size:.8rem;color:var(--text-muted);letter-spacing:.05em}.info-sep[data-astro-cid-xmivup5a]{font-size:.76rem;color:var(--text-muted);opacity:.3}.info-value[data-astro-cid-xmivup5a]{font-size:.9rem;color:var(--text-primary);transition:color .2s ease,text-shadow .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-link[data-astro-cid-xmivup5a]:hover .info-value[data-astro-cid-xmivup5a]{color:var(--text-accent);text-shadow:var(--glow-sm)}.info-footer[data-astro-cid-xmivup5a]{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.info-comment[data-astro-cid-xmivup5a]{color:var(--text-accent);opacity:.6}@media(max-width:480px){.info-link[data-astro-cid-xmivup5a]{grid-template-columns:2rem 4rem auto 1fr}.info-value[data-astro-cid-xmivup5a]{font-size:.75rem}}
