@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}:root{--color-bg:#fafafa;--color-bg-void:#fff;--color-fg:#1a1a1a;--color-fg-muted:#8a8a8a;--color-grid-line:#1a1a1a0a;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--font-sans:"Space Grotesk Variable", "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--grid-size:64px;--transition-fast:.15s ease;--transition-base:.3s ease;--safe-inline:calc(1.9vw + 1.5rem);--safe-block:calc(2vh + 1.1rem);--safe-top:calc(var(--safe-block) + .5rem)}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{isolation:isolate;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;position:relative}body:before{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(to right, var(--color-grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--color-grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center, #fff0 40%, var(--color-bg-void) 100%);position:fixed;inset:0}img,video{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:1px solid var(--color-fg);outline-offset:4px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label-mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-fg-muted);font-weight:500}.home-scene{width:100%;min-height:calc(100dvh - var(--safe-block) * 2);justify-content:center;align-items:center;display:flex;position:relative;overflow:clip}.home-ghost-thumb{aspect-ratio:4/5;object-fit:cover;pointer-events:none;filter:blur(2.5px);opacity:.3;border-radius:.375rem;width:clamp(56px,8vw,100px);position:absolute}.home-ghost-thumb--round{aspect-ratio:1;border-radius:50%}@media (width<=480px){.home-ghost-thumb{opacity:.2}}.home-ghost-bio{text-align:center;max-width:220px;color:var(--color-fg-muted);pointer-events:none;user-select:none;filter:blur(2px);opacity:.25;margin:0 auto;font-size:.5rem;line-height:1.4;position:absolute;bottom:6%;left:0;right:0}@media (width<=480px){.home-ghost-bio{opacity:.15}}.home-ghost-contact{text-align:center;max-width:260px;color:var(--color-fg-muted);pointer-events:none;user-select:none;filter:blur(2px);opacity:.25;flex-direction:column;align-items:center;gap:.35rem;margin:0 auto;font-size:.5rem;line-height:1.4;display:flex;position:absolute;top:7%;left:0;right:0}.home-ghost-contact__item{overflow-wrap:anywhere}@media (width<=480px){.home-ghost-contact{opacity:.15}}.home-content{z-index:1;align-items:center;gap:var(--space-4);flex-direction:column;display:flex;position:relative}.home-title{letter-spacing:-.02em;margin:0;font-size:clamp(2.5rem,10vw,5.5rem);font-weight:600}.home-langs{margin-top:calc(var(--space-4) * -1 + var(--space-1));font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-fg-muted);align-items:baseline;font-size:clamp(.7rem,1.6vh,.85rem);display:flex}.home-langs__option{padding:var(--space-1);color:inherit;transition:color var(--transition-fast), opacity var(--transition-fast);text-decoration:none}.home-langs__option[aria-current=page]{color:var(--color-fg)}.home-langs__option:hover,.home-langs__option:focus-visible{color:var(--color-fg);opacity:.75}.home-langs__sep{opacity:.5}.home-nav{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}@media (width>=640px){.home-nav{gap:clamp(var(--space-3), 4.5vw, var(--space-5));flex-direction:row}}.home-nav__option{white-space:nowrap;letter-spacing:.01em;padding:var(--space-1) var(--space-2);transition:opacity var(--transition-fast);font-size:clamp(1.5rem,6vw,2.75rem);font-weight:500;text-decoration:none;display:inline-block}.home-nav__option:hover,.home-nav__option:focus-visible{opacity:.6}.home-nav__option-enter{display:inline-flex}@media (prefers-reduced-motion:no-preference){@keyframes home-scatter-title{0%{opacity:0;transform:scale(.85)translateY(-22px)}}@keyframes home-scatter-work{0%{opacity:0;transform:translate(32px,-26px)rotate(8deg)}}@keyframes home-scatter-about{0%{opacity:0;transform:translate(-32px,26px)rotate(-8deg)}}@keyframes home-scatter-contact{0%{opacity:0;transform:translate(30px,28px)rotate(6deg)}}.home-title{animation:.9s ease-out home-scatter-title}.home-nav__option-enter:first-child{animation:.95s ease-out 80ms backwards home-scatter-work}.home-nav__option-enter:nth-child(2){animation:.95s ease-out .14s backwards home-scatter-about}.home-nav__option-enter:nth-child(3){animation:.95s ease-out .2s backwards home-scatter-contact}::view-transition-group(*){animation-duration:.65s;animation-timing-function:cubic-bezier(.4,0,.2,1)}}.brain-scene{background:#000;width:100%;height:100dvh;position:relative}.brain-scene canvas{background:#000;position:absolute;inset:0}.brain-scene[data-fullscreen] canvas{visibility:hidden}.monitor-overlay{flex-direction:column;gap:.5rem;width:min(46vw,560px);height:min(38vh,360px);display:flex;position:absolute;top:46%;left:68%;transform:translate(-50%,-50%)}.monitor-overlay__screen{--crt-scanline:#0000002e;--barra-tope:5.5cqh;--barra-alto:5.6cqh;--barra-aire:2.2cqh;--barra-carril:calc(var(--barra-tope) + var(--barra-alto) + var(--barra-aire));background:#080a09;border-radius:4.5%/6%;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #050505,inset 0 .5rem 1rem #000000d9,inset 0 -.15rem .4rem #0009;container-type:size}.monitor-overlay__screen[data-screen-mode=portfolio]{--crt-scanline:#00000017;background:#09090a}.monitor-overlay__tube{z-index:0;filter:url(#crt-barrel);position:absolute;inset:-2%}.monitor-overlay__screen:after{content:"";z-index:10;pointer-events:none;background:repeating-linear-gradient(to bottom, var(--crt-scanline) 0 1px, transparent 1px 3px), radial-gradient(120% 90% at 28% 18%, #ffffff0e, transparent 46%), radial-gradient(135% 105% at 50% 48%, transparent 58%, #0006 100%);position:absolute;inset:0}.monitor-overlay__frame{background:var(--color-bg);width:100%;height:calc(100% - var(--barra-carril));margin-top:var(--barra-carril);border:0;animation:.5s monitor-frame-in}.start-screen{width:100%;height:100%;font-family:var(--font-mono);color:#3f6;flex-direction:column;align-items:center;gap:3cqh;padding:7cqh 5.5cqw 5cqh;display:flex;position:relative;overflow:hidden}.boot-screen__masthead{text-align:center;border-bottom:3px double #33ff668c;flex:none;width:100%;padding-bottom:2.5cqh}.boot-screen__title{letter-spacing:.04em;white-space:nowrap;margin:0;font-size:clamp(9px,4.75cqw,40px);font-weight:700;line-height:1.1}.start-screen__body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3.5cqh;width:100%;min-height:0;display:flex}.start-screen__prompt{white-space:pre-line;text-align:center;letter-spacing:.1em;color:#2fe86a;margin:0;font-size:clamp(6px,6.2cqw,26px);font-weight:700;line-height:1.35}.start-screen__cursor{margin-left:.4em;animation:1s step-end infinite monitor-cursor-blink}.start-screen__langs{align-items:stretch;gap:6cqw;display:flex}.start-key{letter-spacing:.3em;text-indent:.3em;cursor:pointer;border-radius:0;flex-direction:column;align-items:center;gap:.8cqh;padding:1.6cqh 4cqw;font-family:inherit;font-size:clamp(11px,5.6cqw,30px);font-weight:700;line-height:1;display:flex}.start-key--primary{color:#2fe86a;background:#030c06d9;border:4px double #2fe86a}.start-key--primary:hover,.start-key--primary:focus-visible{color:#04140a;background:#2fe86a;outline:none}.start-screen__menu{gap:2.2cqh}.start-item{letter-spacing:.12em;color:#3f6;cursor:pointer;white-space:nowrap;background:#030c06b8;border:2px solid #33ff66a6;padding:1.1cqh 2.4cqw;font-family:inherit;font-size:2.243cqw}.start-item:hover,.start-item:focus-visible{color:#04140a;background:#2fe86a;outline:none}.start-screen__page{justify-content:flex-start;gap:2cqh}.start-screen__scroll{text-align:left;scrollbar-width:thin;scrollbar-color:#1f8a44 transparent;flex-direction:column;flex:1;width:100%;min-height:0;padding-right:2cqw;display:flex;overflow-y:auto}.start-screen__lead,.start-screen__para,.start-screen__signoff{text-wrap:pretty;margin:0 0 1.6cqh;font-size:2.243cqw;line-height:1.65}.start-screen__lead{color:#3f6;margin-bottom:2.4cqh}.start-screen__para{color:#2bbb55}.start-screen__signoff{color:#1f8a44;margin-bottom:0}.start-screen__qa{margin:0 0 2.4cqh}.start-screen__question,.start-screen__answer{text-wrap:pretty;margin:0;font-size:1.979cqw;line-height:1.6}.start-screen__question{color:#3f6}.start-screen__answer{color:#2bbb55;white-space:pre-line}.start-screen__heading{letter-spacing:.14em;text-align:center;margin:0;font-size:2.507cqw}.start-screen__pending{letter-spacing:.16em;color:#1f8a44;margin:0;font-size:1.583cqw}.start-screen__scroll--centered>:first-child{margin-top:auto}.start-screen__scroll--centered>:last-child{margin-bottom:auto}.start-screen__scroll--centered>:not(:last-child){margin-bottom:2.6cqh}.start-screen__keys{flex:none;justify-content:center;gap:6cqw;padding-top:1cqh;display:flex}.typed{display:block;position:relative}.typed__ghost{color:#0000}.typed__ink{color:inherit;position:absolute;inset:0}.typed__caret{animation:1s step-end infinite crt-caret}@keyframes crt-caret{50%{opacity:0}}[data-revealed=false]{opacity:0;visibility:hidden}[data-revealed=true]{opacity:1;visibility:visible;transition:opacity .26s ease-out,visibility}@media (prefers-reduced-motion:reduce){.typed__caret{animation:none}[data-revealed]{transition:none}}.start-item--back{color:#2bbb55;border-color:#2bbb558c;font-size:1.847cqw}.boot-screen{z-index:20;font-family:var(--font-mono);color:#3f6;background:#050706;justify-content:center;align-items:center;transition:opacity .42s;display:flex;position:absolute;inset:0}.boot-screen__panel{aspect-ratio:1.436;width:min(88vw,760px);container-type:size}.boot-screen__frame{flex-direction:column;align-items:center;gap:3cqh;width:100%;height:100%;padding:11cqh 5.5cqw 5cqh;display:flex}.boot-screen__body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3cqh;width:100%;min-height:0;display:flex}.boot-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000002e 0 1px,#0000 1px 3px),radial-gradient(120% 90% at 28% 18%,#ffffff0b,#0000 46%),radial-gradient(135% 105% at 50% 48%,#0000 58%,#00000073 100%);position:absolute;inset:0}.boot-screen--leaving{opacity:0;pointer-events:none}.load-bar{flex-direction:column;align-items:center;gap:2.6cqh;width:76%;display:flex}.load-bar__label{letter-spacing:.16em;text-align:center;text-wrap:pretty;margin:0;font-size:clamp(8px,3.4cqw,18px);line-height:1.4}.load-bar__track{background:#030c06b8;border:2px solid #33ff66a6;width:100%;height:3.6cqh;min-height:7px;padding:.6cqh}.load-bar__fill{background:#2fe86a;height:100%}.load-bar__pct{letter-spacing:.14em;color:#1f8a44;margin:0;font-size:clamp(7px,2.8cqw,14px)}.boot-sequence{z-index:2;font-family:var(--font-mono);color:#3f6;background:#080a09;flex-direction:column;justify-content:center;align-items:center;padding:0 6cqw;display:flex;position:absolute;inset:0}.screen-exit,.screen-corner{z-index:2;color:#3f6;min-width:24px;min-height:24px;font-family:var(--font-mono);cursor:pointer;background:#030c06b8;border:2px solid #33ff66a6;border-radius:0;justify-content:center;align-items:center;width:4cqw;height:4cqw;padding:0;font-size:2.4cqw;line-height:1;transition:none;display:flex;position:absolute;top:8cqh}.screen-corner--back{left:7cqw}.screen-exit{right:7cqw}.screen-exit:hover,.screen-exit:focus-visible,.screen-corner:hover,.screen-corner:focus-visible{color:#04140a;background:#2fe86a;outline:none}.chrome-bar{top:var(--barra-tope);height:var(--barra-alto);z-index:2;font-family:var(--font-mono);color:#3f6;align-items:stretch;gap:1.2cqw;line-height:1;display:flex;position:absolute;left:4.5cqw;right:4.5cqw}.chrome-bar__nav{gap:.7cqw;display:flex}.chrome-bar__key,.chrome-bar__power{width:4.4cqw;min-width:26px;color:inherit;cursor:pointer;background:#030c06b8;border:1px solid #33ff6680;border-radius:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:2cqw;line-height:1;transition:none;display:flex}.chrome-bar__key:hover:not(:disabled),.chrome-bar__key:focus-visible:not(:disabled),.chrome-bar__power:hover,.chrome-bar__power:focus-visible{color:#04140a;background:#2fe86a;outline:none}.chrome-bar__key:disabled{opacity:.28;cursor:default}.chrome-bar__url{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;background:#030c06b8;border:1px solid #33ff6680;flex:1;align-items:center;gap:.2cqw;min-width:0;padding:0 1.4cqw;font-size:1.55cqw;display:flex;overflow:hidden}.chrome-bar__esquema,.chrome-bar__host{color:#1f8a44}.chrome-bar__ruta{color:#3f6}.chrome-bar__power{color:#ffb03b;border-color:#ffb03b8c}.chrome-bar__power:hover,.chrome-bar__power:focus-visible{color:#1a0f00;background:#ffb03b}.monitor-overlay[data-fullscreen]{--esquina-lado:clamp(44px, 11cqw, 56px);--esquina-tope:max(2.5cqh, env(safe-area-inset-top,0px) + .5cqh);z-index:5;width:100%;height:100dvh;position:fixed;inset:0;transform:none}.monitor-overlay[data-fullscreen] .monitor-overlay__screen{box-shadow:none;border-radius:0}.monitor-overlay[data-fullscreen] .monitor-overlay__tube{filter:url(#crt-barrel-soft);inset:-.6%}.monitor-overlay[data-fullscreen] .start-screen{padding:calc(var(--esquina-tope) + var(--esquina-lado) + 2cqh) 6cqw max(4cqh, env(safe-area-inset-bottom,0px) + 2cqh);gap:2.5cqh}.monitor-overlay[data-fullscreen] .start-screen__body{gap:3cqh}.monitor-overlay[data-fullscreen] .start-screen__lead,.monitor-overlay[data-fullscreen] .start-screen__para,.monitor-overlay[data-fullscreen] .start-screen__signoff{margin-bottom:1.4cqh;font-size:clamp(15px,4.2cqw,21px);line-height:1.6}.monitor-overlay[data-fullscreen] .start-screen__question,.monitor-overlay[data-fullscreen] .start-screen__answer{font-size:clamp(14px,3.9cqw,19px);line-height:1.55}.monitor-overlay[data-fullscreen] .start-screen__qa{margin-bottom:2cqh}.monitor-overlay[data-fullscreen] .start-screen__heading{padding-inline:0;font-size:clamp(15px,4.4cqw,22px)}.monitor-overlay[data-fullscreen] .start-screen__pending{font-size:clamp(11px,3cqw,14px)}.monitor-overlay[data-fullscreen] .start-screen__keys{flex-direction:column;align-items:stretch;gap:1.8cqh;width:100%;padding-top:2cqh}.monitor-overlay[data-fullscreen] .start-item{white-space:normal;text-align:center;justify-content:center;align-items:center;min-height:48px;padding:2.2cqh 4cqw;font-size:clamp(15px,4.2cqw,20px);display:flex}.monitor-overlay[data-fullscreen] .start-item--back{font-size:clamp(13px,3.6cqw,17px)}.monitor-overlay[data-fullscreen] .screen-exit,.monitor-overlay[data-fullscreen] .screen-corner{width:var(--esquina-lado);height:var(--esquina-lado);top:var(--esquina-tope);font-size:clamp(18px,5cqw,24px)}.monitor-overlay[data-fullscreen] .monitor-overlay__screen{--barra-tope:max(2.5cqh, env(safe-area-inset-top,0px) + .5cqh);--barra-alto:clamp(40px, 5.5cqh, 52px);--barra-aire:1.4cqh}.monitor-overlay[data-fullscreen] .chrome-bar{gap:2cqw;left:3.5cqw;right:3.5cqw}.monitor-overlay[data-fullscreen] .chrome-bar__nav{gap:1.2cqw}.monitor-overlay[data-fullscreen] .chrome-bar__key,.monitor-overlay[data-fullscreen] .chrome-bar__power{width:clamp(36px,10cqw,46px);font-size:clamp(15px,4.4cqw,20px)}.monitor-overlay[data-fullscreen] .chrome-bar__url{padding:0 2.5cqw;font-size:clamp(10px,2.9cqw,13px)}.monitor-overlay[data-fullscreen] .chrome-bar__esquema{display:none}.monitor-overlay[data-fullscreen] .screen-corner--back{left:5cqw}@keyframes monitor-cursor-blink{50%{opacity:0}}@keyframes monitor-frame-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
