:root{--terminal-green:#0f0;--terminal-red:red;--terminal-white:#fff;--terminal-black:#0a0a0a;--terminal-dark:#1a1a1a;--terminal-gray:#666;--logo-bg:#0f1217;--logo-arrows:#19f38e;--logo-brace:#9ca3af;--logo-shell:#22c55e;--logo-aquiles:#e5e7eb;--logo-tld:#f43f5e;--logo-shrug:#f59e0b;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-xxl:40px;--spacing-xxxl:50px;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--radius-xl:32px;--shadow-sm:0 2px 4px rgba(0,0,0,.1);--shadow-md:0 4px 8px rgba(0,0,0,.2);--shadow-lg:0 8px 16px rgba(0,0,0,.3);--shadow-glow:0 0 20px rgba(0,255,0,.6);--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--font-family-mono:"Courier New","Monaco","Menlo",monospace;--font-family-logo:"JetBrains Mono","Fira Code","Cascadia Code","Consolas","Menlo","DejaVu Sans Mono",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:28px;--font-size-4xl:32px;--font-size-5xl:48px;--font-size-6xl:72px;--line-height-tight:1.2;--line-height-normal:1.6;--line-height-relaxed:1.8;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--terminal-black);color:var(--terminal-green);font-family:var(--font-family-mono);font-size:var(--font-size-base);line-height:var(--line-height-normal);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--line-height-tight)}h1,h2,h3,h4,h5,h6,p{margin-bottom:var(--spacing-md)}a{color:var(--terminal-green);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--terminal-white)}ol,ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-sm)}img{display:block;height:auto;max-width:100%}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}:focus{outline:2px solid var(--terminal-green);outline-offset:2px}::selection{background:var(--terminal-green);color:var(--terminal-black)}::-moz-selection{background:var(--terminal-green);color:var(--terminal-black)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--terminal-dark)}::-webkit-scrollbar-thumb{background:var(--terminal-green);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#0c0}.terminal{margin:0 auto;max-width:var(--breakpoint-xl);min-height:100vh;padding:var(--spacing-lg);position:relative}.terminal-header{border-bottom:2px solid var(--terminal-green);margin-bottom:var(--spacing-xxl);padding:var(--spacing-lg);text-align:center}.terminal-title{font-size:2.5em;font-weight:700;margin-bottom:var(--spacing-sm)}.terminal-subtitle{color:var(--terminal-white);font-size:1.2em}.prompt{align-items:center;display:flex;font-weight:700;margin-bottom:var(--spacing-sm)}.prompt,.prompt .cursor{color:var(--terminal-green)}.prompt .cursor{margin-right:var(--spacing-sm)}.prompt .command-text{color:var(--terminal-white);margin-left:var(--spacing-sm)}.output{animation:fadeIn 1s ease-in;border-left:2px solid var(--terminal-green);color:var(--terminal-green);margin-bottom:var(--spacing-xl);margin-left:var(--spacing-lg);padding-left:var(--spacing-lg);white-space:pre-line}.highlight{color:var(--terminal-red);font-weight:700}.section{background:rgba(0,255,0,.05);border-left:3px solid var(--terminal-green);border-radius:var(--radius-md);margin:var(--spacing-xxl) 0;padding:var(--spacing-lg)}.terminal:before{background:radial-gradient(circle at 20% 80%,rgba(0,255,0,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,0,0,.03) 0,transparent 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.logo{box-sizing:border-box;transition:all var(--transition-normal)}.logo,.logo-card{align-items:center!important;display:flex!important;justify-content:center!important}.logo-card{background:var(--logo-bg)!important;border-radius:var(--radius-xl)!important;box-sizing:border-box!important;flex-direction:column!important;height:100%!important;overflow:hidden!important;padding:var(--spacing-lg)!important;position:relative!important;width:100%!important}.logo-arrows{color:var(--logo-arrows);font-weight:800;letter-spacing:2px;margin:var(--spacing-xs) 0;text-shadow:0 0 10px rgba(25,243,142,.6)}.logo-arrows,.logo-text{font-size:var(--font-size-3xl)}.logo-text{font-family:var(--font-family-logo);font-weight:700;line-height:var(--line-height-tight);margin:var(--spacing-sm) 0}.logo-brace{color:var(--logo-brace);font-weight:700}.logo-shell{color:var(--logo-shell);font-weight:800}.logo-aquiles{color:var(--logo-aquiles);font-weight:800}.logo-tld{color:var(--logo-tld);font-weight:800}.logo-shrug{color:var(--logo-shrug);font-size:var(--font-size-6xl);font-weight:800;line-height:var(--line-height-tight);margin:var(--spacing-sm) 0}.logo:hover{transform:scale(1.05)}.logo:hover .logo-arrows{text-shadow:0 0 15px rgba(25,243,142,.8)}.logo:hover .logo-card{box-shadow:0 0 20px rgba(0,255,0,.3)}.nodos-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:var(--spacing-lg) 0}.nodo{background:rgba(0,255,0,.1);border:1px solid var(--terminal-green);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--spacing-lg);position:relative;text-align:center;transition:all var(--transition-normal)}.nodo:before{background:linear-gradient(90deg,transparent,rgba(0,255,0,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-slow);width:100%}.nodo:hover:before{left:100%}.nodo:hover{background:rgba(0,255,0,.2);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.nodo:active{transform:translateY(-1px)}.proyecto{background:hsla(0,0%,100%,.05);border:1px solid var(--terminal-white);border-radius:var(--radius-md);margin:var(--spacing-md) 0;padding:var(--spacing-lg);position:relative;transition:all var(--transition-normal)}.proyecto:hover{background:hsla(0,0%,100%,.1);transform:translateX(5px)}.proyecto strong{color:var(--terminal-white)}.btn{background:var(--terminal-green);border:none;border-radius:var(--radius-md);color:var(--terminal-black);cursor:pointer;display:inline-block;font-family:inherit;font-weight:700;letter-spacing:1px;margin:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 0;overflow:hidden;padding:var(--spacing-md) var(--spacing-xl);position:relative;text-decoration:none;text-transform:uppercase}.btn,.btn:before{transition:all var(--transition-normal)}.btn:before{background:hsla(0,0%,100%,.3);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.btn:hover:before{height:300px;width:300px}.btn:hover{background:#0c0;box-shadow:0 5px 15px rgba(0,255,0,.4);transform:translateY(-3px)}.btn:active{transform:translateY(-1px)}.cta{background:rgba(0,255,0,.1);border:3px solid var(--terminal-green);border-radius:var(--radius-lg);margin:var(--spacing-xxxl) 0;overflow:hidden;padding:var(--spacing-xxl);position:relative;text-align:center}.cta:before{animation:rotate 10s linear infinite;background:linear-gradient(45deg,transparent,rgba(0,255,0,.1),transparent);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.email{color:var(--terminal-green);font-size:1.5em;font-weight:700;margin:var(--spacing-lg) 0;text-shadow:0 0 10px var(--terminal-green)}.terminal-nav{display:flex;gap:var(--spacing-lg);justify-content:center;margin-top:var(--spacing-md);padding:var(--spacing-md) 0}.nav-link{border:1px solid var(--terminal-green);border-radius:var(--radius-md);color:var(--terminal-green);font-weight:700;letter-spacing:1px;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;text-transform:uppercase;transition:all var(--transition-normal)}.nav-link:hover{box-shadow:0 3px 10px rgba(0,255,0,.3);transform:translateY(-2px)}.nav-link.active,.nav-link:hover{background:var(--terminal-green);color:var(--terminal-black)}.blog-content{animation:fadeIn .5s ease-in forwards;opacity:1!important}.blog-content .output{opacity:1!important;transform:none!important}.blog-list{border-left:none;padding-left:0}.posts-container{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.blog-post-preview{background:rgba(0,255,0,.05);border:1px solid var(--terminal-green);border-radius:var(--radius-md);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-normal)}.blog-post-preview:before{background:linear-gradient(90deg,transparent,rgba(0,255,0,.1),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-slow);width:100%}.blog-post-preview:hover:before{left:100%}.blog-post-preview:hover{background:rgba(0,255,0,.1);box-shadow:0 5px 15px rgba(0,255,0,.2);transform:translateX(5px)}.post-header h3{color:var(--terminal-white);margin:0 0 var(--spacing-md) 0}.post-header h3 a{color:var(--terminal-white);text-decoration:none;transition:color var(--transition-normal)}.post-header h3 a:hover,.post-meta{color:var(--terminal-green)}.post-meta{display:flex;flex-wrap:wrap;font-size:.9em;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.post-meta span{align-items:center;display:flex}.post-date:before{content:"📅 ";margin-right:var(--spacing-xs)}.post-author:before{content:"👤 ";margin-right:var(--spacing-xs)}.post-category{background:rgba(0,255,0,.2);border:1px solid var(--terminal-green);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm)}.post-excerpt{color:var(--terminal-white);line-height:1.6}.post-excerpt,.post-tags{margin:var(--spacing-md) 0}.post-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tag{background:rgba(0,255,0,.1);border:1px solid var(--terminal-green);border-radius:var(--radius-sm);color:var(--terminal-green);font-size:.85em;padding:var(--spacing-xs) var(--spacing-sm)}.read-more-btn{margin-top:var(--spacing-md)}.blog-post{border-left:none;padding-left:0}.post-content{max-width:100%}.post-header-single{border-bottom:2px solid var(--terminal-green);margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-lg)}.post-header-single h1{color:var(--terminal-white);font-size:2.5em;line-height:1.2;margin-bottom:var(--spacing-md)}.post-body{color:var(--terminal-white);line-height:1.8;margin:var(--spacing-xxl) 0}.post-body h2{border-bottom:1px solid rgba(0,255,0,.3);font-size:1.8em;margin-top:var(--spacing-xxl);padding-bottom:var(--spacing-sm)}.post-body h2,.post-body h3{color:var(--terminal-green);margin-bottom:var(--spacing-md)}.post-body h3{font-size:1.4em;margin-top:var(--spacing-xl)}.post-body p{margin-bottom:var(--spacing-md)}.post-body ol,.post-body ul{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl)}.post-body li{color:var(--terminal-white);margin-bottom:var(--spacing-sm)}.post-body strong{color:var(--terminal-white);font-weight:700}.post-body code{background:rgba(0,255,0,.1);border:1px solid rgba(0,255,0,.3);border-radius:var(--radius-sm);color:var(--terminal-green);font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.post-body pre{background:rgba(0,0,0,.5);border:1px solid var(--terminal-green);border-radius:var(--radius-md);margin:var(--spacing-lg) 0;overflow-x:auto;padding:var(--spacing-md)}.post-body pre code{background:transparent;border:none;color:var(--terminal-green);font-size:.9em;padding:0}.post-body a{color:var(--terminal-green);text-decoration:underline;transition:color var(--transition-normal)}.post-body a:hover{color:#0c0}.post-body hr.post-separator{background:transparent;border:none;border-top:2px solid var(--terminal-green);margin:var(--spacing-xxl) 0;opacity:.5}.post-body hr.post-separator:before{background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);content:"";display:block;height:1px;margin-top:-1px}.post-body table{background:rgba(0,0,0,.3);border:1px solid var(--terminal-green);border-collapse:collapse;margin:var(--spacing-lg) 0;width:100%}.post-body table thead{background:rgba(0,255,0,.1)}.post-body table th{border-bottom:2px solid var(--terminal-green);border-right:1px solid rgba(0,255,0,.3);color:var(--terminal-green);font-weight:700;padding:var(--spacing-md);text-align:left}.post-body table th:last-child{border-right:none}.post-body table td{border-bottom:1px solid rgba(0,255,0,.2);border-right:1px solid rgba(0,255,0,.2);color:var(--terminal-white);padding:var(--spacing-md)}.post-body table td:last-child{border-right:none}.post-body table tbody tr:hover{background:rgba(0,255,0,.05)}.post-body table tbody tr:last-child td{border-bottom:none}.post-footer{border-top:2px solid var(--terminal-green);margin-top:var(--spacing-xxl);padding-top:var(--spacing-lg)}.cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes typewriter{0%{overflow:hidden;width:0}to{overflow:visible;width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.revealed{animation:slideIn .6s ease-out forwards}.fade-in{animation:fadeIn .5s ease-in forwards}.slide-in-left{animation:slideIn .5s ease-out forwards}.nodo,.proyecto,.section{transform:translateY(30px)}.nodo,.prompt,.proyecto,.section{opacity:0;transition:all .6s ease}.prompt{transform:translateX(-30px)}.output{opacity:0;transform:translateY(20px);transition:all .6s ease}@media (max-width:1024px){.terminal{max-width:100%;padding:var(--spacing-md)}.nodos-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:768px){.terminal{padding:var(--spacing-md)}.terminal-title{font-size:2em}.terminal-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-md)}.nodos-grid{gap:var(--spacing-md);grid-template-columns:1fr}.btn{display:block;margin:var(--spacing-sm) 0;text-align:center;width:100%}.cta{margin:var(--spacing-xl) 0;padding:var(--spacing-xl) var(--spacing-md)}.email{font-size:1.2em}.logo{height:120px;width:120px}.logo-text{font-size:var(--font-size-xl)}.logo-shrug{font-size:var(--font-size-5xl)}.logo-arrows{font-size:var(--font-size-xl)}}@media (max-width:480px){.terminal{padding:var(--spacing-sm)}.terminal-title{font-size:1.5em}.terminal-header{margin-bottom:var(--spacing-lg);padding:var(--spacing-sm)}.output{margin-left:var(--spacing-sm);padding-left:var(--spacing-sm)}.section{margin:var(--spacing-lg) 0;padding:var(--spacing-md)}.logo{height:80px;width:80px}.logo-text{font-size:var(--font-size-base)}.logo-shrug{font-size:var(--font-size-4xl)}.logo-arrows{font-size:var(--font-size-base)}.btn{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.cta{padding:var(--spacing-lg) var(--spacing-sm)}.email{font-size:1.1em}}@media (max-width:360px){.terminal{padding:var(--spacing-xs)}.terminal-title{font-size:1.3em}.logo{height:60px;width:60px}.logo-text{font-size:var(--font-size-sm)}.logo-shrug{font-size:var(--font-size-3xl)}.btn{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}}@media (min-resolution:192dpi){.logo-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media print{.btn:before,.cta:before,.nodo:before,.terminal:before{display:none}.terminal{background:#fff;color:#000}.btn{background:#ccc;border:1px solid #999;color:#000}}