<script> $(document).ready(function () { (function () { const CONFIG = { targetSelector: "img", clickSelector: '[name*="_text"], [name*="_icn"]', zIndex: 9999, particleShapes: ["customSvg"], customParticleSvgs: [ ` <svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10.498 0.5V7.66992" stroke="white" stroke-linecap="round"></path> <path d="M10.498 13.3281V20.498" stroke="white" stroke-linecap="round"></path> <path d="M20.5 10.5L13.3303 10.5" stroke="white" stroke-linecap="round"></path> <path d="M7.66992 10.5L0.500263 10.5" stroke="white" stroke-linecap="round"></path> <path d="M5.68552 14.6855C5.49026 14.8808 5.49026 15.1974 5.68552 15.3926C5.88077 15.5879 6.19735 15.5879 6.39261 15.3926L6.03906 15.0391L5.68552 14.6855ZM8.90828 12.8769C9.10354 12.6816 9.10354 12.365 8.90828 12.1697C8.71302 11.9745 8.39644 11.9745 8.20119 12.1697L8.55473 12.5233L8.90828 12.8769ZM6.03906 15.0391L6.39261 15.3926L8.90828 12.8769L8.55473 12.5233L8.20119 12.1697L5.68552 14.6855L6.03906 15.0391Z" fill="white"></path> <path d="M12.0898 8.27925C11.8946 8.47452 11.8946 8.79111 12.0898 8.98637C12.2851 9.18164 12.6016 9.18164 12.7969 8.98637L12.4434 8.63281L12.0898 8.27925ZM15.3126 6.47061C15.5078 6.27535 15.5078 5.95876 15.3126 5.76349C15.1173 5.56823 14.8007 5.56823 14.6055 5.76349L14.959 6.11705L15.3126 6.47061ZM12.4434 8.63281L12.7969 8.98637L15.3126 6.47061L14.959 6.11705L14.6055 5.76349L12.0898 8.27925L12.4434 8.63281Z" fill="white"></path> <path d="M6.39456 5.76363C6.1993 5.56836 5.88273 5.56836 5.68747 5.76363C5.49221 5.95889 5.49221 6.27548 5.68747 6.47075L6.04102 6.11719L6.39456 5.76363ZM8.20314 8.98651C8.3984 9.18177 8.71497 9.18177 8.91023 8.98651C9.10549 8.79124 9.10549 8.47465 8.91023 8.27939L8.55669 8.63295L8.20314 8.98651ZM6.04102 6.11719L5.68747 6.47075L8.20314 8.98651L8.55669 8.63295L8.91023 8.27939L6.39456 5.76363L6.04102 6.11719Z" fill="white"></path> <path d="M12.7989 12.1699C12.6036 11.9746 12.287 11.9746 12.0918 12.1699C11.8965 12.3651 11.8965 12.6817 12.0918 12.877L12.4453 12.5234L12.7989 12.1699ZM14.6074 15.3928C14.8027 15.588 15.1193 15.588 15.3145 15.3928C15.5098 15.1975 15.5098 14.8809 15.3145 14.6856L14.961 15.0392L14.6074 15.3928ZM12.4453 12.5234L12.0918 12.877L14.6074 15.3928L14.961 15.0392L15.3145 14.6856L12.7989 12.1699L12.4453 12.5234Z" fill="white"></path> </svg> `, ` <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10 0L10.1586 1.71074C10.5586 6.02465 13.9754 9.44139 18.2893 9.84138L20 10L18.2893 10.1586C13.9754 10.5586 10.5586 13.9754 10.1586 18.2893L10 20L9.84138 18.2893C9.44139 13.9754 6.02465 10.5586 1.71074 10.1586L0 10L1.71074 9.84138C6.02465 9.44139 9.44139 6.02465 9.84138 1.71074L10 0Z" fill="white"></path> </svg> `, ` <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10 0L10.5159 3.56033C10.9606 6.62895 13.3711 9.03937 16.4397 9.48406L20 10L16.4397 10.5159C13.3711 10.9606 10.9606 13.3711 10.5159 16.4397L10 20L9.48406 16.4397C9.03937 13.3711 6.62895 10.9606 3.56033 10.5159L0 10L3.56033 9.48406C6.62895 9.03937 9.03937 6.62895 9.48406 3.56033L10 0Z" fill="white"></path> <path d="M14.7658 5.23453L14.3348 5.8116C12.4794 8.29588 12.4794 11.7047 14.3348 14.189L14.7658 14.7661L14.1887 14.3351C11.7044 12.4797 8.29557 12.4797 5.81129 14.3351L5.23422 14.7661L5.66521 14.189C7.52061 11.7047 7.52061 8.29588 5.66521 5.8116L5.23422 5.23453L5.81129 5.66552C8.29557 7.52091 11.7044 7.52091 14.1887 5.66552L14.7658 5.23453Z" fill="white"></path> </svg> ` ], colors: ["#ffffff"], spawnPerFrame: 3, maxParticles: 120, spawnRadius: 40, size: { min: 4, max: 6 }, speed: { min: 0.35, max: 1.8 }, burst: { count: 22, speed: { min: 2, max: 5 }, size: { min: 4, max: 7 }, lifetime: { min: 700, max: 1400 } }, lifetime: { min: 1000, max: 5000 }, gravity: 0, drift: 0.04, fadePower: 1, movementStopDelay: 40, minMoveDistance: 1.8 }; function loadP5(callback) { if (window.p5) { callback(); return; } const existingScript = document.querySelector('script[src*="p5.min.js"], script[src*="/p5.js"]'); if (existingScript) { existingScript.addEventListener("load", callback, { once: true }); window.setTimeout(() => { if (window.p5) callback(); }, 500); return; } const script = document.createElement("script"); script.src = "https://cdn.jsdelivr.net/npm/p5@1.9.4/lib/p5.min.js"; script.onload = callback; document.head.appendChild(script); } loadP5(() => { new window.p5((p) => { let particles = []; let customParticleImages = []; let pointer = { x: 0, y: 0, active: false, moving: false, lastMovedAt: 0 }; p.setup = function () { const canvas = p.createCanvas(window.innerWidth, window.innerHeight); canvas.position(0, 0); canvas.style("position", "fixed"); canvas.style("inset", "0"); canvas.style("width", "100%"); canvas.style("height", "100%"); canvas.style("pointer-events", "none"); canvas.style("z-index", String(CONFIG.zIndex)); p.clear(); p.noStroke(); customParticleImages = CONFIG.customParticleSvgs.map(svgStringToP5Image); }; p.draw = function () { p.clear(); updatePointerState(); if (pointer.active && pointer.moving) { for (let i = 0; i < CONFIG.spawnPerFrame; i += 1) { particles.push(new StarParticle(pointer.x, pointer.y, "hover")); } } if (particles.length > CONFIG.maxParticles) { particles.splice(0, particles.length - CONFIG.maxParticles); } for (let i = particles.length - 1; i >= 0; i -= 1) { particles[i].update(); particles[i].draw(); if (particles[i].dead) { particles.splice(i, 1); } } }; p.windowResized = function () { p.resizeCanvas(window.innerWidth, window.innerHeight); }; window.addEventListener( "pointermove", (event) => { const dx = event.clientX - pointer.x; const dy = event.clientY - pointer.y; const distance = Math.hypot(dx, dy); pointer.x = event.clientX; pointer.y = event.clientY; if (distance >= CONFIG.minMoveDistance) { pointer.moving = true; pointer.lastMovedAt = p.millis(); } }, { passive: true } ); window.addEventListener("pointerleave", () => { pointer.active = false; pointer.moving = false; }); document.addEventListener("click", (event) => { const target = event.target.closest(CONFIG.clickSelector); if (!target) return; burstParticles(event.clientX, event.clientY); }); function burstParticles(x, y) { for (let i = 0; i < CONFIG.burst.count; i += 1) { particles.push(new StarParticle(x, y, "burst")); } } function updatePointerState() { const element = document.elementFromPoint(pointer.x, pointer.y); pointer.active = Boolean( element && element.closest(CONFIG.targetSelector) ); if (p.millis() - pointer.lastMovedAt > CONFIG.movementStopDelay) { pointer.moving = false; } } class StarParticle { constructor(x, y, mode = "hover") { const angle = p.random(p.TWO_PI); if (mode === "burst") { this.position = p.createVector(x, y); this.velocity = p5.Vector.fromAngle(angle).mult( p.random(CONFIG.burst.speed.min, CONFIG.burst.speed.max) ); this.size = p.random(CONFIG.burst.size.min, CONFIG.burst.size.max); this.lifetime = p.random( CONFIG.burst.lifetime.min, CONFIG.burst.lifetime.max ); } else { const distance = p.random(CONFIG.spawnRadius); this.position = p.createVector( x + Math.cos(angle) * distance, y + Math.sin(angle) * distance ); this.velocity = p5.Vector.fromAngle(angle).mult( p.random(CONFIG.speed.min, CONFIG.speed.max) ); this.size = p.random(CONFIG.size.min, CONFIG.size.max); this.lifetime = p.random(CONFIG.lifetime.min, CONFIG.lifetime.max); } this.color = p.random(CONFIG.colors); this.shape = p.random(CONFIG.particleShapes); this.customImage = p.random(customParticleImages); this.rotation = p.random(p.TWO_PI); this.spin = p.random(-0.08, 0.08); this.age = 0; this.dead = false; } update() { const dt = Math.min(p.deltaTime || 16.67, 40); const frameStep = dt / 16.67; const driftAngle = p.noise( this.position.x * 0.01, this.position.y * 0.01, p.frameCount * 0.01 ) * p.TWO_PI * 2; this.velocity.x += Math.cos(driftAngle) * CONFIG.drift * frameStep; this.velocity.y += Math.sin(driftAngle) * CONFIG.drift * frameStep + CONFIG.gravity * frameStep; this.position.add(p5.Vector.mult(this.velocity, frameStep)); this.rotation += this.spin * frameStep; this.age += dt; this.dead = this.age >= this.lifetime; } draw() { const progress = p.constrain(this.age / this.lifetime, 0, 1); const alpha = 255 * Math.pow(1 - progress, CONFIG.fadePower); p.push(); p.translate(this.position.x, this.position.y); p.rotate(this.rotation); p.fill(colorWithAlpha(this.color, alpha)); if (this.shape === "customSvg" && this.customImage) { p.imageMode(p.CENTER); p.tint(255, alpha); p.image(this.customImage, 0, 0, this.size * 2.2, this.size * 2.2); p.noTint(); } else { p.circle(0, 0, this.size); } p.pop(); } } function colorWithAlpha(hex, alpha) { const value = hex.replace("#", ""); const r = parseInt(value.slice(0, 2), 16); const g = parseInt(value.slice(2, 4), 16); const b = parseInt(value.slice(4, 6), 16); return p.color(r, g, b, alpha); } function svgStringToP5Image(svgMarkup) { const normalized = svgMarkup .replace(/currentColor/g, "#ffffff") .replace(/fill="[^"]*"/g, 'fill="#ffffff"'); const encoded = window.btoa(unescape(encodeURIComponent(normalized))); return p.loadImage(`data:image/svg+xml;base64,${encoded}`); } }); }); })(); }); </script>
T

образ жизни

текст: анастасия сперанская

08 июля 2026

В ожидании премьеры фильма «Моана» мы решили устроить сеанс коллективной самодиагностики и выяснить, какая диснеевская принцесса живет внутри вас. Нет, диагнозов
не ставим, но кое-что о ваших личных границах, отношениях
с чудовищами и тяге к приключениям расскажем.

<style> * {outline:none!important;-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; outline: none; -ms-touch-action: manipulation; touch-action: manipulation;} *, *:focus {outline:none!important;-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; -ms-touch-action: manipulation; touch-action: manipulation;} [name*="_submres"], [name*="_var_"], [name*="_showresult"], [name*="_repeat"], [name*="_social_"], [name*="_icn_point_"], [name*="_backbtn"], [name*="_makeb"], [name*="start_btn"] {cursor:pointer!important;} #article { height:1000px; transition:height 0.3s; padding-bottom: 0px; } [name*="_icn"] svg path { transition: fill .3s, stroke .3s; } [name*="_icn"].hovered svg path, [name*="_icn"].selected svg path { fill: #fff; } [name*="_btn"] {cursor:pointer!important;} [name*="_submres"].shown, [name*="_showresult"].shown { cursor:pointer!important; opacity: .5!important; pointer-events: none; transition: opacity .3s; } [name*="_submres"].shown.active, [name*="_showresult"].shown.active { opacity: 1!important; pointer-events: auto; } </style> <script> $(document).ready(function () { let currentStep = 1; const MAX_STEP = 11; const OPTION_ACTIVE_CLASS = 'selected'; const OPTION_HOVER_CLASS = 'hovered'; let isTransitioning = false; const answers = {}; const $root = $('#article .body'); $('[name*="preload_img"], [name*="preload_numb_"]') .attr('class', 'object') .fadeIn(0) .fadeOut(0); const svg = ` <svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" viewBox="0 0 18 17" fill="none"> <path d="M10.8447 5.53613L10.9385 5.72461L11.1465 5.75488L16.2588 6.49707L12.5596 10.1045L12.4082 10.251L12.4443 10.458L13.3164 15.5488L8.74512 13.1455L8.55859 13.0479L8.37207 13.1455L3.7998 15.5488L4.67285 10.458L4.70898 10.251L4.55762 10.1045L0.857422 6.49707L5.9707 5.75488L6.17871 5.72461L6.27246 5.53613L8.55859 0.902344L10.8447 5.53613Z" stroke="white" stroke-width="0.8"></path> </svg> `; $root.find('[name*="_icn"]').each(function () { $(this).find('img').replaceWith(svg); }); function smoothShow($element, duration = 300) { return $element .stop(true, true) .hide() .css('opacity', 0) .fadeTo(duration, 1) .promise(); } function smoothHide($element, duration = 300) { return $element .stop(true, true) .fadeTo(duration, 0) .promise() .then(function () { $element.hide().css('opacity', 1); }); } function disableActionButton($element) { $element .removeClass('active') .css('opacity', .5) .css('pointer-events', 'none'); } function enableActionButton($element) { $element .addClass('active') .css('opacity', 1) .css('pointer-events', 'auto'); } $root.find('[name="start_btn"]').on('click', function () { if (isTransitioning) return; isTransitioning = true; $(this).fadeOut(300); currentStep = 1; hidePreload().done(function () { showItem(1); isTransitioning = false; }); }); function getOptionPair(qNum, idx) { return $root.find( `[name="item_${qNum}_var_${idx}_text"], [name="item_${qNum}_var_${idx}_icn"]` ); } function getQuestionOptions(qNum) { return $root.find( `[name^="item_${qNum}_var_"][name$="_text"], [name^="item_${qNum}_var_"][name$="_icn"]` ); } $root .find('[name^="item_"][name*="_var_"][name$="_text"], [name^="item_"][name*="_var_"][name$="_icn"]') .on('mouseenter', function () { const nameAttr = $(this).attr('name') || ''; const match = nameAttr.match(/^item_(\d+)_var_(\d+)_(text|icn)$/); if (!match) return; const qNum = parseInt(match[1], 10); const idx = parseInt(match[2], 10); getOptionPair(qNum, idx).addClass(OPTION_HOVER_CLASS); }) .on('mouseleave', function () { const nameAttr = $(this).attr('name') || ''; const match = nameAttr.match(/^item_(\d+)_var_(\d+)_(text|icn)$/); if (!match) return; const qNum = parseInt(match[1], 10); const idx = parseInt(match[2], 10); getOptionPair(qNum, idx).removeClass(OPTION_HOVER_CLASS); }) .on('click', function () { if (isTransitioning) return; const nameAttr = $(this).attr('name') || ''; const match = nameAttr.match(/^item_(\d+)_var_(\d+)_(text|icn)$/); if (!match) return; const qNum = parseInt(match[1], 10); const idx = parseInt(match[2], 10); answers[qNum] = idx; getQuestionOptions(qNum).removeClass(OPTION_ACTIVE_CLASS); getOptionPair(qNum, idx).addClass(OPTION_ACTIVE_CLASS); $root.find(`[name="item_${qNum}_text"]`) .stop(true, true) .fadeIn(300); if (qNum === MAX_STEP) { enableActionButton($root.find(`[name="item_${MAX_STEP}_showresult"]`)); } else { enableActionButton($root.find(`[name="item_${qNum}_submres"]`)); } }); function goToStep(targetStep) { if (isTransitioning) return; isTransitioning = true; hideItem().done(function () { currentStep = targetStep; showItem(currentStep); isTransitioning = false; }); } $root.find('[name^="item_"][name$="_submres"]').on('click', function () { if (!$(this).hasClass('active')) return; const nameAttr = $(this).attr('name') || ''; const match = nameAttr.match(/^item_(\d+)_submres$/); if (!match) return; const qNum = parseInt(match[1], 10); if (qNum >= MAX_STEP) return; goToStep(qNum + 1); }); $root.find('[name^="item_"][name$="_backbtn"]').on('click', function () { const nameAttr = $(this).attr('name') || ''; const match = nameAttr.match(/^item_(\d+)_backbtn$/); if (!match) return; const qNum = parseInt(match[1], 10); const prev = qNum - 1; if (prev < 1) return; goToStep(prev); }); $root.find('[name*="_showresult"]').on('click', function () { if (!$(this).hasClass('active')) return; if (isTransitioning) return; isTransitioning = true; hideItem().done(function () { showResult(); isTransitioning = false; }); }); $root.find('[name*="_repeat"]').on('click', function () { if (isTransitioning) return; isTransitioning = true; $.when( hideResultItem(1), hideResultItem(2), hideResultItem(3), hideResultItem(4), hideResultItem(5), hideResultItem(6) ).done(function () { resetGame(); isTransitioning = false; }); }); function hidePreload() { return $root .find('[name^="preload_numb_"], [name^="preload_"], [name^="preload_img_"], [name="start_btn"]') .fadeOut(300) .promise(); } function updatePreloadState() { for (let i = 1; i <= MAX_STEP; i++) { const $num = $root.find(`[name="preload_numb_${i}"]`); const $img = $root.find(`[name="preload_img_${i}"]`); $num.removeClass('completed current future'); if (i < currentStep) { $num.addClass('completed'); } else if (i === currentStep) { $num.addClass('current'); } else { $num.addClass('future'); } if ($img.length) { if (i === currentStep) { $img.fadeIn(0); } else { $img.fadeOut(0); } } } } function saveOriginalPosition($element) { const originalTop = parseInt($element.css('top'), 10) || 0; const originalLeft = parseInt($element.css('left'), 10) || 0; if (typeof $element.data('original-top') === 'undefined') { $element.data('original-top', originalTop); } if (typeof $element.data('original-left') === 'undefined') { $element.data('original-left', originalLeft); } } function showTopItems(id) { const $topLine = $root.find(`[name="topitemline"]`); const topLineValue = parseInt($topLine.css('top'), 10) || 0; $root.find('.object[name^="topitem"]').each(function () { const $element = $(this); const nameAttr = $element.attr('name') || ''; if (nameAttr === 'topitemline') return; saveOriginalPosition($element); const originalTop = $element.data('original-top'); const originalLeft = $element.data('original-left'); const newTop = originalTop - topLineValue + 20; $element.css('top', newTop + 'px'); if (nameAttr === 'topitem_icon') { let leftAdd = 0; if (id >= 2) { leftAdd = (id - 1) * 160; } $element.css('left', (originalLeft + leftAdd) + 'px'); } if (!$element.hasClass('shown')) { $element.addClass('shown'); smoothShow($element, 300); } else { $element.show().css('opacity', 1); } }); } function showItem(id) { const currentTopLine = $root.find(`.object[name="topline_${id}"]`); const currentTopLineValue = parseInt(currentTopLine.css('top'), 10) || 0; showTopItems(id); $root.find(`.object[name^="item_${id}"]`).each(function () { const $element = $(this); const nameAttr = $element.attr('name') || ''; saveOriginalPosition($element); const originalTop = $element.data('original-top'); const newTopValue = originalTop - currentTopLineValue; $element.css('top', (newTopValue + 60) + 'px'); $element.addClass('shown'); if ( nameAttr.indexOf('_text') !== -1 && !nameAttr.match(/^item_\d+_var_\d+_text$/) ) { $element.hide().css('opacity', 1); } else { smoothShow($element, 300); } }); const $submres = $root.find(`[name="item_${id}_submres"]`); const $showresult = $root.find(`[name="item_${id}_showresult"]`); if ($submres.length) { $submres.show(); disableActionButton($submres); } if ($showresult.length) { $showresult.show(); disableActionButton($showresult); } const $backBtn = $root.find(`[name="item_${id}_backbtn"]`); if ($backBtn.length) { if (id > 1) { smoothShow($backBtn.addClass('shown'), 300); } else { $backBtn.hide().css('opacity', 1); } } if (answers[id]) { const idx = answers[id]; getQuestionOptions(id).removeClass(OPTION_ACTIVE_CLASS); getOptionPair(id, idx).addClass(OPTION_ACTIVE_CLASS); $root.find(`[name="item_${id}_text"]`).fadeIn(0); if (id === MAX_STEP) { enableActionButton($root.find(`[name="item_${MAX_STEP}_showresult"]`)); } else { enableActionButton($root.find(`[name="item_${id}_submres"]`)); } } updatePreloadState(); $(window).trigger('scroll'); $(window).trigger('resize'); } function hideTopItem() { const $elements = $root.find('.object[name^="topitem"].shown'); const animations = []; $elements.each(function () { const $element = $(this); const originalTop = $element.data('original-top'); const originalLeft = $element.data('original-left'); const animation = smoothHide($element, 300).then(function () { $element.removeClass('shown'); if (typeof originalTop !== 'undefined') { $element.css('top', originalTop + 'px'); } if (typeof originalLeft !== 'undefined') { $element.css('left', originalLeft + 'px'); } }); animations.push(animation); }); return $.when.apply($, animations); } function hideItem() { const $elements = $root.find('.object[name^="item_"].shown'); const animations = []; $elements.each(function () { const $element = $(this); const originalTop = $element.data('original-top'); const originalLeft = $element.data('original-left'); const animation = smoothHide($element, 300).then(function () { $element.removeClass('shown'); if (typeof originalTop !== 'undefined') { $element.css('top', originalTop + 'px'); } if (typeof originalLeft !== 'undefined') { $element.css('left', originalLeft + 'px'); } }); animations.push(animation); }); return $.when.apply($, animations); } function computeFinalResultId() { const counts = {}; for (let q = 1; q <= MAX_STEP; q++) { const variant = answers[q]; if (!variant) continue; counts[variant] = (counts[variant] || 0) + 1; } let maxCount = 0; $.each(counts, function (variant, count) { if (count > maxCount) { maxCount = count; } }); const winners = []; $.each(counts, function (variant, count) { if (count === maxCount) { winners.push(parseInt(variant, 10)); } }); // Если лидеров несколько — показываем результат 6 if (winners.length > 1) { return 6; } // Иначе показываем победителя return winners[0] || 6; } function showResult() { const resultId = computeFinalResultId(); showTopItems(currentStep); showResultItem(resultId); } function showResultItem(id) { const currentTopLine = $root.find(`.object[name="restopline_${id}"]`); const currentTopLineValue = parseInt(currentTopLine.css('top'), 10) || 0; $root.find(`.object[name^="result_${id}"]`).each(function () { const $element = $(this); saveOriginalPosition($element); const originalTop = $element.data('original-top'); const newTopValue = originalTop - currentTopLineValue; $element.css('top', (newTopValue + 60) + 'px'); smoothShow($element, 300); }); setTimeout(function () { $(window).trigger('scroll'); $(window).trigger('resize'); }, 100); } function hideResultItem(id) { const $elements = $root.find(`.object[name^="result_${id}"]`); const animations = []; $elements.each(function () { const $element = $(this); const originalTop = $element.data('original-top'); const animation = smoothHide($element, 300).then(function () { if (typeof originalTop !== 'undefined') { $element.css('top', originalTop + 'px'); } }); animations.push(animation); }); return $.when.apply($, animations); } $root.find('[name*="_social_tg"]').on('click', function (e) { e.preventDefault(); const s_url = $(this).find('.content_link').attr('href'); window.open('https://t.me/share/url?url=' + s_url); }); function resetGame() { currentStep = 1; for (const key in answers) { delete answers[key]; } $root .find('[name^="item_"][name*="_var_"][name$="_text"], [name^="item_"][name*="_var_"][name$="_icn"]') .removeClass(OPTION_ACTIVE_CLASS + ' ' + OPTION_HOVER_CLASS); $root .find('[name^="item_"][name$="_text"]:not([name*="_var_"])') .hide() .css('opacity', 1); $root .find('[name$="_submres"], [name$="_showresult"]') .removeClass('active') .css('opacity', .5) .css('pointer-events', 'none'); hideTopItem(); updatePreloadState(); hideItem().done(function () { $root.find('[name="start_btn"], [name*="preload_"]') .stop(true, true) .fadeIn(300); }); } }); </script>

Не знаем, сами ли вы дошли до психолога
 или фея-крестная заставила, но вот вы сидите в кресле,
напротив — человек с блокнотом. Он начинает с классики:
«С чем пришли?»

Я слишком доверчивая

Увлекаюсь не теми

 У меня токсичное окружение

Надоело жить по чьей-то указке. «Сам решу-у-у!»

Кажется, жизнь проходит
мимо меня

Все тащу на себе, но если
я не разберусь, 
то кто?

«Понятно», — отвечает психолог с интонацией из мема. Следующий вопрос — что вам обычно помогает
справляться с проблемами?

Интересная книга — лекарство
от всех невзгод

Как следует нарядиться и выбраться в красивое место

 Прогулки на свежем воздухе
под пение птиц

Найти цель и двигаться к ней —
мне легче, когда намечен какой-то маршрут

Уехать, улететь, уплыть
куда-нибудь, 
где все незнакомое

Посидеть в хаммаме, обмазаться Sultane de Saba с головы до ног

А теперь вспомните,
где вы в последний раз чувствовали себя
как рыба в воде?

На выпускном

В гостях у незнакомца с сайта знакомств

На воде

В мужском коллективе

В воде

В самолете

Карточки Роршаха не пригодились, вместо этого вас почему-то спрашивают, какая пословица или поговорка лучше всего описывает ваши жизненные принципы. 

Рыба ищет где глубже, а человек —
где рыба

В гостях хорошо, а дома —
не прибрано

Глаза боятся, а руки держатся

Сколько лампу ни три,
а желания — три

Семь раз отмерь, семь раз отрежь

Кому повезло — у того и весло

Вас просят вспомнить фразу,
от которой у вас начинает дергаться глаз.
Итак?

«Тебе что, больше всех надо?»

«Помоги, тебе же несложно»

«Привет. Спишь?»

«Мечтать не вредно»

«Любопытной Варваре на базаре
нос оторвали»

«Мы хотим для тебя самого лучшего»

Психолог что-то сосредоточенно записывает,
а вы на секунду смотрите в телефон. Конечно,
именно сейчас там…

Реклама круиза. Ну все, это знак

Очередные непрошеные советы
от родственников

Ваш фитнес-браслет рапортует, что вы на свете всех прекрасней

Включилась аудиокнига «Сознающий ум. В поисках фундаментальной теории»

Невыключенный навигатор громко вещает: «Поверните направо»

Случайно открылись заметки
с гигантским списком дел на сегодня

Ну вот вы и отвлеклись: рука сама открывает соцсеть,
а там — фотографии для самых избранных пользователей.
Это…

Ваши татуировки

Видео из караоке

Селфи на фоне ковра

Селфи с Плющенко-младшим

Детское фото верхом на сенбернаре

Фото ваших ног — в обуви и без

Мы — то, что мы едим,
и теперь психолог хочет обсудить
ваши пищевые привычки:


Наше счастье постоянно:
ешь кокосы, ешь бататы

Пирожное, мороженое и прочие десерты

Эх, яблочко, куда ты катишься, попадешь ко мне в рот,
не воротишься

До-ре-ми… Фасоль. Белую отдельно, темную отдельно…

Инжир, хурма, курага.
Пахлава, чурчхела, рахат-лукум!

Самые здоровые: чука, нори, вакаме, ламинария

Сессия что-то затягивается.
Вы смотрите на часы — хорошо бы еще успеть…

В обувной на семпл-сейл

В аквапарк — не спрашивайте, зачем

На выставку, название которой
вы не помните

Домой — томно лежать на подушках и гладить кота

Поспать

На соревнование по гребле

После короткой паузы звучит
неожиданный вопрос: «Какой суперспособностью
вы хотели бы обладать?» 


Снимать проклятия

Останавливать время, чтобы
все успевать

Заставлять зверье помогать
по хозяйству

 Слышать зов предков

Иметь личного джинна

Дышать под водой

Сессия наконец заканчивается, психолог дает домашнее задание: написать себе одну мотивирующую фразу на стикере
и приклеить на зеркало. Что там будет?


Эту детку не посадить
в золотую клетку

Не для вас моя роза цвела

Каждый день — праздник, когда есть что надеть

Море зовет, волна поет, а мы такие отдыхаем

Чтобы тебя услышали, необязательно кричать, но можно спеть

Все — яд, а поцелуй — лекарство

Вы — человек удивительно мягкий, светлый и доброжелательный.
Вас можно ранить одним неосторожным словом, но вы все равно, скорее всего, спросите, кто голоден и не принести ли чаю. Иногда вас могут недооценивать, но в вашей доброте нет слабости — это ваша тихая сила. И все же психолог советует вам почаще думать о себе
и пореже обо всяких гномах.

Вы можете вывезти все: дедлайн, бардак, чужие истерики и список дел на 48 пунктов, вопрос только — нужно ли? Внутри вас живет надежда, что однажды вас заметят не только в момент, когда надо срочно помочь. Спойлер: вы уже заслуживаете большего. И новую пару
туфель в придачу. 

Кажется, вы живете по принципу «хорошо там, где нас нет».
Душа просит открытий, свободы и нового опыта, а привычная рутина вам быстро надоедает. Да, с вами никогда не скучно, но все-таки иногда лучше подумать, а потом сделать, да и обсессивно-компульсивное расстройство еще никому жизнь лучше не делало. 

У вас потрясающий талант составлять в голове подробный психологический портрет человека, который сказал вам два слова.
И он же — ваше проклятье. Вас тянет к сложным людям, но иногда мутный человек — это просто мутный человек, а не загадка, которую нужно срочно разгадать. Хотя загадки вы обычно щелкаете как орешки, не зря столько учились.

Вы — человек с очень ясным внутренним «нет» на все, что пахнет контролем, навязыванием и непрошеными советами. Кто-то может посчитать вас слишком капризной и дерзкой, но вы резки ровно там, где нужно, и это, честно говоря, здоровый навык. 

Вы из тех, кто думает «если не я, то кто», и это одновременно ваша суперсила и ваша хроническая проблема. Вы не любите болтаться без дела: вам нужен маршрут, цель и ощущение, что все это вообще
не зря. В сложной ситуации вы обычно не начинаете ныть — вы просто берете весла и плывете, даже если штормит.

{"width":1200,"column_width":75,"columns_n":16,"gutter":0,"margin":0,"line":40}
false
767
1300
false
false
true
false
{"mode":"page","transition_type":"slide","transition_direction":"horizontal","transition_look":"belt","slides_form":{}}
{"css":".editor {font-family: tautz; font-size: 16px; font-weight: 200; line-height: 21px;}"}