@font-face{font-family:Mona Sans;src:url(/fonts/mona-sans.woff2)format(woff2);font-weight:400 800;font-stretch:87.5% 125%;font-display:swap}@font-face{font-family:Mona Sans Mono;src:url(/fonts/mona-sans-mono.woff2)format(woff2);font-weight:400 600;font-display:swap}:root{--paper:#f4f5f7;--ink:#16191f;--ink-soft:#596070;--graphite:#1d2027;--raised:#262a33;--rule:#343946;--fog:#9aa1b0;--snow:#e8eaef;--content:#7fb2ea;--padding:#9cd08f;--border:#f2d16b;--margin:#f2a66a;--rec:#ff5a5f;--tag:#9b3fa8;--cls:#2f5db8;--sans:"Mona Sans",system-ui,sans-serif;--mono:"Mona Sans Mono",ui-monospace,monospace;--ease:cubic-bezier(.2,.8,.2,1);--drawer:min(34vh,300px);--gutter:clamp(20px,7vw,112px);--buncss-light:initial;--buncss-dark: ;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--graphite);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans);font-feature-settings:"kern";-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-color:var(--margin)}:focus-visible{outline:2px solid var(--cls);outline-offset:3px;border-radius:2px}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}.skip{position:absolute;left:var(--gutter);background:var(--ink);color:var(--paper);padding:8px 12px;top:12px;transform:translateY(-200%)}.skip:focus{transform:none}main{padding:0 var(--gutter)calc(var(--drawer) + 64px)}.has-devtools main{padding-bottom:calc(var(--drawer) + 64px)}.hero{min-height:calc(100svh - var(--drawer));display:grid;align-content: center;padding:64px 0 48px}.vicente-torres{--role:"Tech Lead at Holded";--owns:"frontend architecture";--stack:"React, TypeScript";--team:"hiring and growing it";--weekends:url(https://anijams.com);--inset:calc(.3em + 3px);position:relative;left:calc(var(--inset)*-1);letter-spacing:-.015em;border:3px solid #0000;width:-moz-fit-content;width:fit-content;margin:.16em;padding:.12em .14em;transition:font-stretch .9s cubic-bezier(.6,0,.2,1),letter-spacing .9s cubic-bezier(.6,0,.2,1);font-size:clamp(56px,12.5vw,176px);font-weight:760;font-stretch:125%;line-height:.98}.vicente-torres span{display:block}.intro .vicente-torres{letter-spacing:0;font-stretch:87.5%}.lede{--since:2015;color:var(--ink-soft);max-width:34ch;margin:0;font-size:clamp(19px,2.1vw,26px);line-height:1.35}section{margin:0 0 clamp(72px,12vw,144px)}h2{letter-spacing:-.01em;max-width:24ch;margin:0 0 20px;font-size:clamp(26px,3.4vw,40px);font-weight:700;font-stretch:112.5%;line-height:1.12}.about,.weekends,.contact{max-width:66ch}.about{--master:"LIDR, first in the cohort";--contributions:"4,400+ in the last year"}.about p,.weekends p{max-width:62ch;margin:0 0 16px}.weekends{--ships:"AniJams";--frameworks:0;max-width:960px}.anijams{display:block;transition:transform .4s var(--ease);border-radius:18px;margin-top:32px}.anijams:hover{transform:translateY(-3px)}.anijams img{display:block;width:100%;height:auto}.contact{--email:"iam@vicentetorr.es"}.links{display:flex;list-style:none;flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;font-size:clamp(18px,2vw,22px);font-weight:600}.colophon{color:var(--ink-soft);font-size:14px}.colophon p{margin:0}.career{--recorded-since:"March 2015";--status:recording;max-width:1080px}.panel{background:var(--graphite);color:var(--snow);overflow:hidden;border-radius:16px;font-size:13px;line-height:1.4;box-shadow:0 30px 60px -30px #16191f73}.tabs{display:flex;border-bottom:1px solid var(--rule);color:var(--fog);align-items: center;gap:30px;height:36px;padding:0 24px;font-size:12.5px}.tabs .on{color:var(--snow);box-shadow:inset 0 -2px var(--content);line-height:34px}.toolbar{display:flex;border-bottom:1px solid var(--rule);align-items: center;gap:14px;padding:12px 24px}.toolbar .rec{background:var(--rec);animation:rec 1.4s ease-in-out infinite;border-radius:50%;width:12px;height:12px}.toolbar .icon{color:var(--fog);width:16px;height:16px}.toolbar .icon:last-of-type{box-sizing:content-box;border-right:1px solid var(--rule);margin-right:6px;padding-right:14px}.toolbar h2{letter-spacing:0;max-width:none;margin:0;font-size:15px;font-weight:600;font-stretch:100%}.tenure{color:var(--fog);white-space:nowrap;margin-left:auto}.scroller{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--rule)transparent}.trace{position:relative;overflow:hidden;background-image:linear-gradient(var(--rule),var(--rule));background-repeat:no-repeat;background-size:1px 100%;min-width:760px;margin:0 24px;padding-bottom:104px}.years,.marks,.row{position:relative;list-style:none;margin:0;padding:0}.years{color:var(--fog);height:30px;font-size:11.5px}.years li{position:absolute;border-left:1px solid var(--rule);pointer-events:none;height:400px;padding-left:4px;top:10px}.track{position:relative}.track-title{display:flex;color:var(--fog);align-items: center;gap:6px;margin:6px 0 4px;font-size:12px;font-weight:600}.track-title:before{content:"";border:4px solid #0000;border-top:5px solid var(--fog);border-bottom:0}.marks{height:34px}.mark{position:absolute;display:flex;white-space:nowrap;outline-offset:2px;align-items: center;gap:8px;font-size:12.5px;top:6px}.mark:before{content:"";background:var(--margin);width:9px;height:9px;transform:translate(-50%)rotate(45deg)}.mark.late{flex-direction:row-reverse;transform:translate(-100%)}.mark.late:before{transform:translate(50%)rotate(45deg)}.row{height:25px;margin-bottom:2px}.span{position:absolute;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;box-shadow:inset -1px 0 var(--graphite);border-radius:3px;height:23px;padding:0 5px;font-size:12px;font-weight:500;font-stretch:87.5%;line-height:23px;top:0}.span:hover,.span.selected{outline:1.5px solid var(--snow);outline-offset:1px;z-index:1}.span:focus-visible{outline:1.5px solid var(--snow);outline-offset:1px;z-index:1}.content{background:var(--content)}.padding{background:var(--padding)}.border{background:var(--border)}.margin{background:var(--margin)}.curtain{position:absolute;background:var(--graphite);transform:translateX(calc(var(--now)*100%));pointer-events:none;width:100%;top:36px;bottom:60px;left:0}.curtain i{position:absolute;background:var(--rec);width:1.5px;top:-8px;bottom:0;left:0}.curtain i:before{content:"";position:absolute;border:5px solid #0000;border-top:6px solid var(--rec);top:-1px;left:-4.25px}.js .career:not(.recorded) .curtain{transform:translate(0)}.career.recording .curtain{transition:transform 2.6s cubic-bezier(.45,.05,.4,1)}.tip{position:absolute;z-index:2;background:var(--raised);border:1px solid var(--rule);pointer-events:none;border-radius:8px;min-width:240px;max-width:320px;padding:10px 14px;box-shadow:0 12px 24px -12px #00000080}.tip strong{display:block;font-size:14px;font-weight:600}.tip small{display:block;color:var(--fog);font-size:12.5px}.tip p{color:var(--snow);margin:6px 0 0;font-size:12.5px}.legend{border-top:1px solid var(--rule);color:var(--fog);padding:14px 24px 18px}.legend p{margin:0 0 8px}.legend ul{display:flex;list-style:none;flex-wrap:wrap;gap:8px 28px;margin:0;padding:0}.legend li{display:flex;align-items: center;gap:8px}.legend i{border-radius:3px;width:12px;height:12px}.legend b{color:var(--snow);font-weight:500}@keyframes rec{50%{opacity:.25}}.inspect{position:fixed;z-index:50;pointer-events:none;inset:0}.inspect[hidden],.inspect.offscreen{display:none}.layer{position:fixed;border-style:solid;transition:opacity .2s}.layer.margin-box{background:0 0;border-color:#f2a66a6b}.layer.border-box{background:0 0;border-color:#f2d16bd9}.layer.padding-box{background:0 0;border-color:#9cd08f80}.layer.content-box{background:#7fb2ea66;border:0}.guide{position:fixed;border:0 dashed #f2a66abf}.guide.h{border-top-width:1px;height:0;left:0;right:0}.guide.v{border-left-width:1px;width:0;top:0;bottom:0}.intro-rings .layer{animation:grow .45s var(--ease)backwards}.intro-rings .padding-box{animation-delay:90ms}.intro-rings .border-box{animation-delay:.18s}.intro-rings .margin-box{animation-delay:.27s}@keyframes grow{0%{opacity:0;transform:scale(.97)}}.itip{position:fixed;color:var(--ink);background:#fff;border-radius:8px;width:max-content;max-width:min(320px,100vw - 24px);padding:10px 14px 8px;font-size:12.5px;line-height:1.35;box-shadow:0 6px 18px #16191f29,0 1px 2px #16191f1f}.itip .head{display:flex;border-bottom:1px solid #16191f1a;justify-content:space-between;gap:24px;margin-bottom:6px;padding-bottom:8px;font-size:13px;font-weight:600}.itip .head span:last-child{color:var(--ink-soft);font-weight:400}.itip .t{color:var(--tag)}.itip .c{color:var(--cls)}.itip dl{display:grid;grid-template-columns:auto auto;gap:3px 24px;margin:0}.itip dt{color:var(--ink-soft)}.itip dd{text-align:right;display:flex;justify-content:flex-end;align-items: center;gap:6px;margin:0}.itip .swatch{border-radius:2px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000026}.itip .ok,.itip .warn{display:inline-grid;color:#fff;border-radius:50%;place-items: center;width:13px;height:13px;font-size:9px;font-weight:700}.itip .ok{background:#2e9e5b}.itip .warn{background:#d9822b}.intro-rings .itip{animation:pop .32s var(--ease).3s backwards}@keyframes pop{0%{opacity:0;transform:translateY(4px)scale(.98)}}.rulers{position:fixed;opacity:0;transition:opacity .3s;inset:0}.inspecting .rulers{opacity:1}.ruler{position:fixed;backdrop-filter:blur(2px);background-color:#f4f5f7e0}.ruler.top{background-image:linear-gradient(90deg,var(--ink-soft)1px,transparent 1px),linear-gradient(90deg,var(--ink-soft)1px,transparent 1px),linear-gradient(90deg,#59607080 1px,transparent 1px);background-repeat:repeat-x;background-size:100px 12px,50px 7px,10px 4px;height:14px;top:0;left:0;right:0}.ruler.left{background-image:linear-gradient(var(--ink-soft)1px,transparent 1px),linear-gradient(var(--ink-soft)1px,transparent 1px),linear-gradient(#59607080 1px,transparent 1px);background-repeat:repeat-y;background-size:12px 100px,7px 50px,4px 10px;width:14px;top:0;bottom:0;left:0}.ruler span{position:absolute;color:var(--ink-soft);font-size:8.5px;line-height:1}.ruler.top span{top:3px}.ruler.left span{left:2px}.devtools{position:fixed;z-index:60;height:var(--drawer);display:grid;grid-template-rows:36px 1fr;background:var(--graphite);color:var(--snow);border-top:1px solid var(--rule);transition:transform .55s var(--ease),height .35s var(--ease);font-size:13px;line-height:1.45;bottom:0;left:0;right:0;transform:translateY(100%)}.devtools.open{transform:none}.devtools.collapsed{height:37px}.dt-bar{display:flex;border-bottom:1px solid var(--rule);align-items: center;gap:4px;padding:0 12px 0 16px}.dt-bar [role=tab]{color:var(--fog);font:inherit;cursor:pointer;background:0 0;border:0;height:36px;padding:0 10px;font-size:12.5px}.dt-bar [role=tab][aria-selected=true]{color:var(--snow);box-shadow:inset 0 -2px var(--content)}.dt-bar [role=tab]:hover{color:var(--snow)}.dt-pick{display:grid;color:var(--fog);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items: center;width:28px;height:28px;margin-right:8px}.dt-pick[aria-pressed=true]{color:var(--content)}.dt-pick:hover{background:var(--raised)}.dt-pick svg,.dt-toggle svg{width:16px;height:16px}.dt-toggle{display:grid;color:var(--fog);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items: center;width:28px;height:28px;margin-left:auto}.dt-toggle:hover{background:var(--raised);color:var(--snow)}.collapsed .dt-toggle svg{transform:rotate(180deg)}.dt-hint{color:var(--fog);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:12px;font-size:12px}.dt-pane{min-height:0}.dt-pane[hidden]{display:none}.dt-elements{display:grid;grid-template-columns:minmax(0,11fr)minmax(0,9fr)}.dom,.styles,.console-log{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rule)transparent}.dom{font:13px/23px var(--mono);font-variant-ligatures:none;padding:10px 0}.node{display:block;padding:0 16px 0 calc(16px + var(--depth,0)*16px);white-space:nowrap;cursor:default}.node:hover{background:#7fb2ea14}.node.selected{background:#7fb2ea2e}.node.selected:after{content:"  == $0";color:var(--fog)}.tg{color:var(--content)}.an{color:var(--border)}.av{color:var(--margin)}.tx{color:var(--snow)}.pn{color:var(--fog)}.styles{border-left:1px solid var(--rule);font:13px/21px var(--mono);font-variant-ligatures:none;padding:10px 16px}.rule{margin:0 0 12px}.rule-head{display:flex;justify-content:space-between;gap:16px}.rule-sel{color:var(--margin)}.rule-src{font-family:var(--sans);color:var(--fog);text-decoration:underline;font-size:12px}.decl{white-space:nowrap;padding-left:16px}.pr{color:var(--content)}.dt-console{display:grid;grid-template-rows:1fr auto}.console-log{font:13px/21px var(--mono);font-variant-ligatures:none;padding:8px 0}.console-log>div{white-space:pre-wrap;border-bottom:1px solid #34394699;padding:2px 16px}.console-log .in{color:var(--fog)}.console-log .in:before{content:"› ";color:var(--content)}.console-log .err{color:#ff8a8d;background:#ff5a5f14}.console-log a{color:var(--content)}.prompt{display:flex;font:13px var(--mono);align-items: center;gap:8px;padding:6px 16px 10px}.prompt:before{content:"›";color:var(--content)}.prompt input{outline:0;color:var(--snow);font:inherit;font-variant-ligatures:none;caret-color:var(--content);background:0 0;border:0;flex:1}@media (max-width:760px){:root{--drawer:50vh}.dt-elements{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.styles{border-left:0;border-top:1px solid var(--rule)}.dt-hint{display:none}.hero{min-height:calc(100svh - 37px)}main,.has-devtools main{padding-bottom:120px}.tenure,.toolbar .icon{display:none}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
