{"id":10,"date":"2026-05-03T21:59:15","date_gmt":"2026-05-03T18:59:15","guid":{"rendered":"http:\/\/2x.md\/?page_id=10"},"modified":"2026-05-04T00:15:55","modified_gmt":"2026-05-03T21:15:55","slug":"%d0%bf%d1%80%d0%b8%d0%b2%d0%b5%d1%82","status":"publish","type":"page","link":"http:\/\/2x.md\/","title":{"rendered":"\u041f\u0420\u0418\u0412\u0415\u0422 :)"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-style-section-1\" style=\"min-height:100vh;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--80);padding-right:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--80)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-7b557354 wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-bc59e349 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">    <div class=\"wp-block-bplugins-custom-html\" id='bPluginsCustomHtml-1'>\n    <div id=\"particles-container\">\n    <canvas id=\"particles-canvas\"><\/canvas>\n    <div class=\"hero-overlay\">\n        <h1>Vadim Romanov<\/h1>\n        <p>FPGA Engineering | Biohacking | Green Energy<\/p>\n    <\/div>\n<\/div>\n\n<style>\n#particles-container {\n    position: relative;\n    width: 100%;\n    height: 500px; \/* \u041c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 100vh \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430 *\/\n    background: #0a0a0a; \/* \u0422\u0435\u043c\u043d\u044b\u0439 \u0444\u043e\u043d \u043f\u043e\u0434 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u0438 *\/\n    overflow: hidden;\n    border-radius: 15px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n#particles-canvas {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n.hero-overlay {\n    position: relative;\n    z-index: 10;\n    text-align: center;\n    color: #ffffff;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    pointer-events: none; \/* \u0427\u0442\u043e\u0431\u044b \u043c\u044b\u0448\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 *\/\n}\n\n.hero-overlay h1 {\n    font-size: 3rem;\n    margin: 0;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    background: linear-gradient(90deg, #fff, #0095f6);\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n}\n\n.hero-overlay p {\n    font-size: 1.2rem;\n    color: #888;\n    margin-top: 10px;\n}\n<\/style>\n\n<script>\nconst canvas = document.getElementById('particles-canvas');\nconst ctx = canvas.getContext('2d');\nlet particles = [];\nconst particleCount = 80; \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u043e\u0447\u0435\u043a\nconst connectionDistance = 120; \/\/ \u0414\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0434\u043b\u044f \u043b\u0438\u043d\u0438\u0439\nlet mouse = { x: null, y: null };\n\n\/\/ \u041f\u043e\u0434\u0433\u043e\u043d\u044f\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u043e\u0434 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\nfunction resize() {\n    canvas.width = canvas.offsetWidth;\n    canvas.height = canvas.offsetHeight;\n}\n\nwindow.addEventListener('resize', resize);\nwindow.addEventListener('mousemove', (e) => {\n    const rect = canvas.getBoundingClientRect();\n    mouse.x = e.clientX - rect.left;\n    mouse.y = e.clientY - rect.top;\n});\n\nwindow.addEventListener('mouseout', () => {\n    mouse.x = null;\n    mouse.y = null;\n});\n\nclass Particle {\n    constructor() {\n        this.x = Math.random() * canvas.width;\n        this.y = Math.random() * canvas.height;\n        this.vx = (Math.random() - 0.5) * 0.5;\n        this.vy = (Math.random() - 0.5) * 0.5;\n        this.size = Math.random() * 2 + 1;\n    }\n\n    update() {\n        this.x += this.vx;\n        this.y += this.vy;\n\n        \/\/ \u041e\u0442\u0441\u043a\u043e\u043a \u043e\u0442 \u043a\u0440\u0430\u0435\u0432\n        if (this.x < 0 || this.x > canvas.width) this.vx *= -1;\n        if (this.y < 0 || this.y > canvas.height) this.vy *= -1;\n\n        \/\/ \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043c\u044b\u0448\u044c\u044e\n        if (mouse.x && mouse.y) {\n            let dx = mouse.x - this.x;\n            let dy = mouse.y - this.y;\n            let dist = Math.sqrt(dx * dx + dy * dy);\n            if (dist < 150) {\n                this.x -= dx * 0.01;\n                this.y -= dy * 0.01;\n            }\n        }\n    }\n\n    draw() {\n        ctx.fillStyle = 'rgba(0, 149, 246, 0.8)'; \/\/ \u0426\u0432\u0435\u0442 \u0442\u043e\u0447\u0435\u043a (\u0441\u0438\u043d\u0438\u0439 WP\/Instagram)\n        ctx.beginPath();\n        ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);\n        ctx.fill();\n    }\n}\n\nfunction init() {\n    particles = [];\n    for (let i = 0; i < particleCount; i++) {\n        particles.push(new Particle());\n    }\n}\n\nfunction animate() {\n    ctx.clearRect(0, 0, canvas.width, canvas.height);\n    \n    for (let i = 0; i < particles.length; i++) {\n        particles[i].update();\n        particles[i].draw();\n\n        for (let j = i + 1; j < particles.length; j++) {\n            const dx = particles[i].x - particles[j].x;\n            const dy = particles[i].y - particles[j].y;\n            const dist = Math.sqrt(dx * dx + dy * dy);\n\n            if (dist < connectionDistance) {\n                ctx.strokeStyle = `rgba(255, 255, 255, ${1 - dist \/ connectionDistance - 0.5})`;\n                ctx.lineWidth = 0.5;\n                ctx.beginPath();\n                ctx.moveTo(particles[i].x, particles[i].y);\n                ctx.lineTo(particles[j].x, particles[j].y);\n                ctx.stroke();\n            }\n        }\n    }\n    requestAnimationFrame(animate);\n}\n\nresize();\ninit();\nanimate();\n<\/script>    <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-vertical is-content-justification-stretch is-layout-flex wp-container-core-group-is-layout-fb128502 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading has-text-align-left\">\u041f\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u043b\u0435\u0432\u044b\u0435 \u0441\u043e\u0446-\u0441\u0435\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 :D<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0439\u0442\u0435\u0441\u044c, \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u043e\u0435...<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u043b\u0435\u0432\u044b\u0435 \u0441\u043e\u0446-\u0441\u0435\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \ud83d\ude00 \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0439\u0442\u0435\u0441\u044c, \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u043e\u0435&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"iawp_total_views":27,"footnotes":""},"class_list":["post-10","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/2x.md\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10"}],"version-history":[{"count":7,"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/pages\/10\/revisions"}],"predecessor-version":[{"id":67,"href":"http:\/\/2x.md\/index.php?rest_route=\/wp\/v2\/pages\/10\/revisions\/67"}],"wp:attachment":[{"href":"http:\/\/2x.md\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}