{"id":3948,"date":"2026-06-10T17:04:58","date_gmt":"2026-06-10T14:04:58","guid":{"rendered":"https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/"},"modified":"2026-06-10T17:04:58","modified_gmt":"2026-06-10T14:04:58","slug":"pasziansz","status":"publish","type":"page","link":"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/pasziansz\/","title":{"rendered":"Paszi\u00e1nsz"},"content":{"rendered":"    <div class=\"emr-single-game-page\">\n        <nav class=\"emr-game-page-nav\">\n            <a href=\"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/\">\u2190 Vissza a j\u00e1t\u00e9kokhoz \u00e9s pontlist\u00e1khoz<\/a>\n            <strong>Paszi\u00e1nsz<\/strong>\n        <\/nav>\n\n            <script>\n    window.emrGameScores = window.emrGameScores || (function() {\n        const ajaxUrl = 'https:\/\/erdelyimagyarradio.eu\/wp-admin\/admin-ajax.php';\n        const nonce = '7cab1ff39d';\n\n        function normalizeName(value) {\n            return (value || '').trim().replace(\/\\s+\/g, ' ');\n        }\n\n        function updateScoreDisplays(scores) {\n            updateGameScore('puzzle', scores && scores.puzzle);\n            updateGameScore('solitaire', scores && scores.solitaire);\n        }\n\n        function updateGameScore(game, score) {\n            document.querySelectorAll('[data-emr-player-score=\"' + game + '\"]').forEach(function(el) {\n                el.textContent = parseInt(score, 10) || 0;\n            });\n        }\n\n        function syncNameInputs(name, sourceInput) {\n            document.querySelectorAll('.emr-player-name-input').forEach(function(input) {\n                if (input !== sourceInput) {\n                    input.value = name;\n                }\n            });\n        }\n\n        function refresh(name) {\n            const formData = new FormData();\n            formData.append('action', 'emr_get_player_scores');\n            formData.append('nonce', nonce);\n            formData.append('name', name);\n\n            return fetch(ajaxUrl, {\n                method: 'POST',\n                body: formData,\n                credentials: 'same-origin'\n            })\n            .then(function(response) {\n                return response.json();\n            })\n            .then(function(result) {\n                if (!result.success || !result.data) {\n                    throw new Error(result.data && result.data.message ? result.data.message : 'A pontok nem t\u00f6lthet\u0151k be.');\n                }\n\n                updateScoreDisplays(result.data);\n                return result.data;\n            });\n        }\n\n        function activate(input, messageEl) {\n            const name = normalizeName(input ? input.value : '');\n\n            if (name.length < 2 || name.length > 30) {\n                if (messageEl) {\n                    messageEl.textContent = '\u00cdrj be egy 2-30 karakteres j\u00e1t\u00e9kosnevet a kezd\u00e9shez.';\n                }\n\n                if (input) {\n                    input.focus();\n                }\n\n                return Promise.resolve(null);\n            }\n\n            input.value = name;\n            localStorage.setItem('emrGamePlayerName', name);\n            syncNameInputs(name, input);\n\n            return refresh(name).catch(function(error) {\n                if (messageEl) {\n                    messageEl.textContent = error.message;\n                }\n\n                return null;\n            });\n        }\n\n        function loadName(input, fallbackName) {\n            const savedName = normalizeName(localStorage.getItem('emrGamePlayerName'));\n            const name = savedName || normalizeName(fallbackName) || normalizeName(input.value);\n\n            if (name) {\n                input.value = name;\n                syncNameInputs(name, input);\n                refresh(name).catch(function() {});\n            }\n        }\n\n        return {\n            activate: activate,\n            loadName: loadName,\n            refresh: refresh,\n            updateScoreDisplays: updateScoreDisplays,\n            updateGameScore: updateGameScore,\n            ajaxUrl: ajaxUrl,\n            nonce: nonce\n        };\n    })();\n    <\/script>\n    \n<section class=\"emr-game-radio\" aria-label=\"R\u00e1di\u00f3lej\u00e1tsz\u00f3\">\n  <h2>\ud83d\udcfb Hallgasd j\u00e1t\u00e9k k\u00f6zben<\/h2>\n  <p>V\u00e1lassz ad\u00e1st, majd ind\u00edtsd el. Egyszerre egy r\u00e1di\u00f3 sz\u00f3l.<\/p>\n\n  <div class=\"emr-game-radio-grid\">\n    <article class=\"emr-game-radio-panel\" data-stream=\"https:\/\/adas.erdelyimagyarradio.eu:8443\/emr\">\n      <div class=\"emr-game-radio-icon\">\u266a<\/div>\n      <div class=\"emr-game-radio-title\">Erd\u00e9lyi Magyar R\u00e1di\u00f3<\/div>\n      <button class=\"emr-game-radio-play\" type=\"button\" aria-label=\"Erd\u00e9lyi Magyar R\u00e1di\u00f3 lej\u00e1tsz\u00e1sa\">\u25b6<\/button>\n      <label class=\"emr-game-radio-volume\">\n        <span>Hanger\u0151<\/span>\n        <input type=\"range\" min=\"0\" max=\"1\" step=\"0.05\" value=\"0.7\">\n      <\/label>\n      <div class=\"emr-game-radio-links\">\n        <a href=\"https:\/\/adas.erdelyimagyarradio.eu:8443\/emr\" target=\"_blank\" rel=\"noopener\">\ud83c\udfa7 Hallgat\u00e1si link<\/a>\n        <a href=\"https:\/\/adas.erdelyimagyarradio.eu:8443\/ogg\" target=\"_blank\" rel=\"noopener\">\ud83d\udcfb Tartal\u00e9k<\/a>\n        <button type=\"button\" data-download=\"erdelyi-magyar-radio.m3u\">M3U<\/button>\n        <button type=\"button\" data-copy>\ud83d\udd17 M\u00e1sol\u00e1s<\/button>\n      <\/div>\n      <audio preload=\"none\"><\/audio>\n    <\/article>\n\n    <article class=\"emr-game-radio-panel\" data-stream=\"https:\/\/s02.diazol.hu:9002\/stream\">\n      <div class=\"emr-game-radio-icon\">\u266a<\/div>\n      <div class=\"emr-game-radio-title\">E.M.R Mulat\u00f3s<\/div>\n      <button class=\"emr-game-radio-play\" type=\"button\" aria-label=\"E.M.R Mulat\u00f3s lej\u00e1tsz\u00e1sa\">\u25b6<\/button>\n      <label class=\"emr-game-radio-volume\">\n        <span>Hanger\u0151<\/span>\n        <input type=\"range\" min=\"0\" max=\"1\" step=\"0.05\" value=\"0.7\">\n      <\/label>\n      <div class=\"emr-game-radio-links\">\n        <a href=\"https:\/\/s02.diazol.hu:9002\/stream\" target=\"_blank\" rel=\"noopener\">\ud83c\udfa7 Hallgat\u00e1si link<\/a>\n        <button type=\"button\" data-download=\"emr-mulatos.m3u\">M3U<\/button>\n        <button type=\"button\" data-copy>\ud83d\udd17 M\u00e1sol\u00e1s<\/button>\n      <\/div>\n      <audio preload=\"none\"><\/audio>\n    <\/article>\n  <\/div>\n\n  <p class=\"emr-game-radio-status\" aria-live=\"polite\"><\/p>\n<\/section>\n\n<style>\n.emr-game-radio {\n  max-width: 820px;\n  margin: 24px auto 32px;\n  padding: 20px;\n  border: 1px solid rgba(255,255,255,0.12);\n  border-radius: 20px;\n  background: linear-gradient(145deg, #111827, #0b1220);\n  color: #ffffff;\n  text-align: center;\n  box-shadow: 0 14px 35px rgba(0,0,0,0.32);\n}\n\n.emr-game-radio h2 {\n  margin: 0 0 6px;\n  color: #ffffff;\n  font-size: 26px;\n}\n\n.emr-game-radio > p {\n  margin: 0 0 16px;\n  color: #cbd5e1;\n}\n\n.emr-game-radio-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 14px;\n}\n\n.emr-game-radio-panel {\n  display: grid;\n  grid-template-columns: 52px 1fr auto;\n  gap: 10px 12px;\n  align-items: center;\n  padding: 14px;\n  border: 1px solid rgba(255,255,255,0.10);\n  border-radius: 16px;\n  background: rgba(255,255,255,0.05);\n  text-align: left;\n}\n\n.emr-game-radio-icon {\n  grid-row: 1 \/ 3;\n  width: 52px;\n  height: 52px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: radial-gradient(circle, #ff3b3b, #e31b23 45%, #111827 72%);\n  font-size: 24px;\n  box-shadow: 0 0 18px rgba(227,27,35,0.55);\n}\n\n.emr-game-radio-icon.playing {\n  animation: emrGameRadioPulse 1.6s ease-in-out infinite;\n}\n\n@keyframes emrGameRadioPulse {\n  50% {\n    transform: scale(1.06);\n    box-shadow: 0 0 30px rgba(227,27,35,0.9);\n  }\n}\n\n.emr-game-radio-title {\n  color: #ffffff;\n  font-size: 17px;\n  font-weight: 800;\n}\n\n.emr-game-radio-play {\n  grid-row: 1 \/ 3;\n  grid-column: 3;\n  width: 48px;\n  height: 48px;\n  border: 0;\n  border-radius: 50%;\n  background: #e31b23;\n  color: #ffffff;\n  font-size: 20px;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n\n.emr-game-radio-play.playing {\n  background: #991b1b;\n}\n\n.emr-game-radio-volume {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  color: #cbd5e1;\n  font-size: 12px;\n}\n\n.emr-game-radio-volume input {\n  min-width: 0;\n  width: 100%;\n  accent-color: #e31b23;\n}\n\n.emr-game-radio-links {\n  grid-column: 1 \/ -1;\n  display: flex;\n  gap: 7px;\n  flex-wrap: wrap;\n}\n\n.emr-game-radio-links a,\n.emr-game-radio-links button {\n  padding: 7px 9px;\n  border: 1px solid rgba(255,255,255,0.12);\n  border-radius: 9px;\n  background: rgba(0,0,0,0.28);\n  color: #ffffff !important;\n  font-size: 12px;\n  line-height: 1.2;\n  text-decoration: none !important;\n  cursor: pointer;\n}\n\n.emr-game-radio-status {\n  min-height: 20px;\n  margin: 12px 0 0 !important;\n  color: #facc15 !important;\n  font-weight: 700;\n}\n\n@media (max-width: 700px) {\n  .emr-game-radio {\n    padding: 16px 10px;\n  }\n\n  .emr-game-radio-grid {\n    grid-template-columns: 1fr;\n  }\n}\n<\/style>\n\n<script>\n(function() {\n  document.querySelectorAll('.emr-game-radio:not([data-ready])').forEach(function(widget) {\n    widget.dataset.ready = '1';\n\n    const panels = Array.from(widget.querySelectorAll('.emr-game-radio-panel'));\n    const status = widget.querySelector('.emr-game-radio-status');\n\n    function freshUrl(url) {\n      return url + (url.indexOf('?') === -1 ? '?' : '&') + 'live=' + Date.now();\n    }\n\n    function stop(panel) {\n      const audio = panel.querySelector('audio');\n      const button = panel.querySelector('.emr-game-radio-play');\n      const icon = panel.querySelector('.emr-game-radio-icon');\n\n      panel.dataset.playing = '0';\n      panel.dataset.manualStop = '1';\n      panel.dataset.reconnects = '0';\n      audio.pause();\n      audio.removeAttribute('src');\n      audio.load();\n      button.textContent = '\u25b6';\n      button.classList.remove('playing');\n      icon.classList.remove('playing');\n    }\n\n    async function start(panel) {\n      panels.forEach(function(otherPanel) {\n        if (otherPanel !== panel && otherPanel.dataset.playing === '1') {\n          stop(otherPanel);\n        }\n      });\n\n      const audio = panel.querySelector('audio');\n      const button = panel.querySelector('.emr-game-radio-play');\n      const icon = panel.querySelector('.emr-game-radio-icon');\n      const volume = panel.querySelector('input[type=\"range\"]');\n\n      panel.dataset.manualStop = '0';\n      panel.dataset.reconnects = '0';\n      audio.volume = Number(volume.value || 0.7);\n      audio.src = freshUrl(panel.dataset.stream);\n      audio.load();\n\n      try {\n        await audio.play();\n        panel.dataset.playing = '1';\n        button.textContent = '\u23f8';\n        button.classList.add('playing');\n        icon.classList.add('playing');\n        status.textContent = panel.querySelector('.emr-game-radio-title').textContent + ' sz\u00f3l.';\n      } catch (error) {\n        stop(panel);\n        status.textContent = 'A r\u00e1di\u00f3 nem indult el. Pr\u00f3b\u00e1ld \u00fajra n\u00e9h\u00e1ny m\u00e1sodperc m\u00falva.';\n        console.error(error);\n      }\n    }\n\n    function downloadM3u(url, filename) {\n      const content = '#EXTM3U\\n#EXTINF:-1,' + filename.replace('.m3u', '') + '\\n' + url + '\\n';\n      const objectUrl = URL.createObjectURL(new Blob([content], { type: 'audio\/x-mpegurl' }));\n      const link = document.createElement('a');\n      link.href = objectUrl;\n      link.download = filename;\n      document.body.appendChild(link);\n      link.click();\n      link.remove();\n      setTimeout(function() {\n        URL.revokeObjectURL(objectUrl);\n      }, 1000);\n    }\n\n    panels.forEach(function(panel) {\n      const audio = panel.querySelector('audio');\n      const playButton = panel.querySelector('.emr-game-radio-play');\n      const volume = panel.querySelector('input[type=\"range\"]');\n      const copyButton = panel.querySelector('[data-copy]');\n      const downloadButton = panel.querySelector('[data-download]');\n\n      panel.dataset.playing = '0';\n      panel.dataset.manualStop = '1';\n      panel.dataset.reconnects = '0';\n\n      playButton.addEventListener('click', function() {\n        if (panel.dataset.playing === '1') {\n          stop(panel);\n          status.textContent = 'A r\u00e1di\u00f3 le\u00e1ll\u00edtva.';\n        } else {\n          start(panel);\n        }\n      });\n\n      volume.addEventListener('input', function() {\n        audio.volume = Number(volume.value);\n      });\n\n      copyButton.addEventListener('click', function() {\n        const stream = panel.dataset.stream;\n\n        if (navigator.clipboard && navigator.clipboard.writeText) {\n          navigator.clipboard.writeText(stream).then(function() {\n            status.textContent = 'A hallgat\u00e1si link a v\u00e1g\u00f3lapra ker\u00fclt.';\n          }).catch(function() {\n            window.prompt('M\u00e1sold ki ezt a linket:', stream);\n          });\n        } else {\n          window.prompt('M\u00e1sold ki ezt a linket:', stream);\n        }\n      });\n\n      downloadButton.addEventListener('click', function() {\n        downloadM3u(panel.dataset.stream, downloadButton.dataset.download);\n      });\n\n      audio.addEventListener('error', function() {\n        if (panel.dataset.manualStop === '1' || panel.dataset.playing !== '1') {\n          return;\n        }\n\n        const reconnects = parseInt(panel.dataset.reconnects || '0', 10);\n\n        if (reconnects >= 5) {\n          stop(panel);\n          status.textContent = 'A stream megszakadt. Ind\u00edtsd \u00fajra a lej\u00e1tsz\u00e1st.';\n          return;\n        }\n\n        panel.dataset.reconnects = String(reconnects + 1);\n\n        setTimeout(function() {\n          if (panel.dataset.manualStop !== '1' && panel.dataset.playing === '1') {\n            audio.src = freshUrl(panel.dataset.stream);\n            audio.load();\n            audio.play().catch(function(error) {\n              console.error('A r\u00e1di\u00f3 \u00fajracsatlakoz\u00e1sa sikertelen.', error);\n            });\n          }\n        }, 5000);\n      });\n\n      audio.addEventListener('playing', function() {\n        panel.dataset.reconnects = '0';\n      });\n    });\n\n    window.addEventListener('pagehide', function() {\n      panels.forEach(stop);\n    });\n  });\n})();\n<\/script>\n\n<div class=\"emr-solitaire-box\">\n  <h2>\ud83c\udccf Erd\u00e9lyi Magyar R\u00e1di\u00f3 Solitaire<\/h2>\n  <p>K\u00f6nny\u0171 tanul\u00f3p\u00e1ly\u00e1val indul, majd az \u00f6sszegy\u0171jt\u00f6tt pontokkal fokozatosan nehezedik.<\/p>\n\n  <div class=\"emr-sol-player-row\">\n    <label for=\"emrSolPlayerName\">J\u00e1t\u00e9kosn\u00e9v<\/label>\n    <input\n      type=\"text\"\n      id=\"emrSolPlayerName\"\n      class=\"emr-player-name-input\"\n      placeholder=\"\u00cdrd be a j\u00e1t\u00e9kosneved\"\n      maxlength=\"30\"\n      required\n      value=\"\"\n    >\n    <small>A pontok ehhez a n\u00e9vhez ad\u00f3dnak hozz\u00e1.<\/small>\n  <\/div>\n\n  <div class=\"emr-sol-player-totals\">\n    <div>\ud83e\udde9 Kirak\u00f3s \u00f6sszpont: <strong data-emr-player-score=\"puzzle\">0<\/strong><\/div>\n    <div>\ud83c\udccf Paszi\u00e1nsz \u00f6sszpont: <strong data-emr-player-score=\"solitaire\">0<\/strong><\/div>\n  <\/div>\n\n  <div class=\"emr-solitaire-toolbar\">\n    <button type=\"button\" id=\"emrSolNewGameBtn\">\u25b6 J\u00e1t\u00e9k ind\u00edt\u00e1sa \/ \u00daj j\u00e1t\u00e9k<\/button>\n    <button type=\"button\" id=\"emrSolHintBtn\">\ud83d\udca1 S\u00fag\u00f3<\/button>\n    <button type=\"button\" id=\"emrSolAutoBtn\">\u2728 Auto befejez\u00e9s<\/button>\n\n    <div>Szint: <strong id=\"emrSolDifficulty\">Kezd\u0151<\/strong><\/div>\n    <div>\u2b50 \u00d6sszpont: <strong id=\"emrSolTotalScore\">0<\/strong><\/div>\n    <div>\u23f1 <strong id=\"emrSolTime\">0 mp<\/strong><\/div>\n    <div>\ud83d\udc63 <strong id=\"emrSolMoves\">0<\/strong> l\u00e9p\u00e9s<\/div>\n    <div>\ud83c\udfc6 <strong id=\"emrSolScore\">0<\/strong> pont<\/div>\n    <div>\ud83d\udd04 <strong id=\"emrSolRedeals\">\u221e<\/strong> \u00fajrakever\u00e9s<\/div>\n  <\/div>\n\n  <div class=\"emr-sol-progress\" aria-live=\"polite\">\n    <div><span id=\"emrSolProgressBar\"><\/span><\/div>\n    <small id=\"emrSolProgressText\">Kezd\u0151 szint<\/small>\n  <\/div>\n\n  <div id=\"emrSolMessage\" class=\"emr-sol-message\"><\/div>\n  <div id=\"emrSolHint\" class=\"emr-sol-hint\"><\/div>\n\n  <div class=\"emr-solitaire-board\">\n    <div class=\"emr-sol-top\">\n      <div class=\"emr-sol-stock\" id=\"emrSolStock\" title=\"Pakli\"><\/div>\n      <div class=\"emr-sol-waste\" id=\"emrSolWaste\" title=\"Dob\u00f3pakli\"><\/div>\n\n      <div class=\"emr-sol-foundations\">\n        <div class=\"emr-sol-foundation\" data-suit=\"hearts\">\u2665<\/div>\n        <div class=\"emr-sol-foundation\" data-suit=\"diamonds\">\u2666<\/div>\n        <div class=\"emr-sol-foundation\" data-suit=\"clubs\">\u2663<\/div>\n        <div class=\"emr-sol-foundation\" data-suit=\"spades\">\u2660<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"emr-sol-tableau\" id=\"emrSolTableau\"><\/div>\n  <\/div>\n\n  <div class=\"emr-sol-help\">\n    <strong>J\u00e1t\u00e9kszab\u00e1ly:<\/strong>\n    kattints egy lapra, majd kattints arra az oszlopra vagy alapmez\u0151re, ahov\u00e1 rakni szeretn\u00e9d.\n    Az alapmez\u0151kre \u00e1szt\u00f3l kir\u00e1lyig kell rakni. Az oszlopok k\u00f6z\u00f6tt piros-fekete v\u00e1ltakoz\u00e1ssal lehet mozgatni.\n  <\/div>\n\n  <div class=\"emr-sol-leaderboard\">\n    <h3>\ud83c\udfc6 Paszi\u00e1nsz toplista<\/h3>\n    <div id=\"emrSolLeaderboardList\">\n                        <div class=\"emr-sol-score-row\">\n            <span>1. Lorand<\/span>\n            <strong>10896 pont<\/strong>\n            <small>\n              0 j\u00e1t\u00e9k \/\n              0 mp \/\n              0 l\u00e9p\u00e9s\n            <\/small>\n          <\/div>\n                  <div class=\"emr-sol-score-row\">\n            <span>2. Belusi<\/span>\n            <strong>8153 pont<\/strong>\n            <small>\n              0 j\u00e1t\u00e9k \/\n              0 mp \/\n              0 l\u00e9p\u00e9s\n            <\/small>\n          <\/div>\n                  <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.emr-solitaire-box {\n  max-width: 980px;\n  margin: 35px auto;\n  background: linear-gradient(145deg, #111827, #172554);\n  color: #ffffff;\n  padding: 28px;\n  border-radius: 24px;\n  text-align: center;\n  box-shadow: 0 18px 45px rgba(0,0,0,0.45);\n  border: 1px solid rgba(255,255,255,0.10);\n  --emr-card-width: min(78px, calc((100vw - 72px) \/ 7));\n  --emr-card-gap: clamp(3px, 1.2vw, 12px);\n}\n\n.emr-solitaire-box h2 {\n  color: #ffffff;\n  font-size: 34px;\n  margin: 0 0 10px;\n}\n\n.emr-solitaire-box p {\n  color: #d1d5db;\n}\n\n.emr-sol-player-row {\n  max-width: 360px;\n  margin: 18px auto 12px;\n  text-align: left;\n}\n\n.emr-sol-player-row label {\n  display: block;\n  margin-bottom: 8px;\n  color: #ffffff;\n  font-weight: 800;\n}\n\n.emr-sol-player-row input {\n  width: 100%;\n  box-sizing: border-box;\n  padding: 12px 14px;\n  border: 1px solid rgba(255,255,255,0.18);\n  border-radius: 12px;\n  background: #0b1220;\n  color: #ffffff;\n  font-size: 16px;\n}\n\n.emr-sol-player-row small {\n  display: block;\n  color: #cbd5e1;\n  margin-top: 7px;\n}\n\n.emr-sol-player-totals {\n  display: flex;\n  justify-content: center;\n  gap: 10px;\n  flex-wrap: wrap;\n  margin: 12px auto 16px;\n}\n\n.emr-sol-player-totals div {\n  padding: 9px 12px;\n  border: 1px solid rgba(255,255,255,0.10);\n  border-radius: 12px;\n  background: rgba(0,0,0,0.28);\n  color: #ffffff;\n  font-weight: 700;\n}\n\n.emr-sol-player-totals strong {\n  color: #22c55e;\n}\n\n.emr-solitaire-toolbar {\n  display: flex;\n  justify-content: center;\n  gap: 12px;\n  flex-wrap: wrap;\n  margin: 18px 0 20px;\n}\n\n.emr-solitaire-toolbar button,\n.emr-solitaire-toolbar div {\n  background: rgba(0,0,0,0.28);\n  border: 1px solid rgba(255,255,255,0.10);\n  color: #ffffff;\n  padding: 10px 14px;\n  border-radius: 12px;\n  font-weight: 800;\n}\n\n.emr-solitaire-toolbar button {\n  background: #e31b23;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n\n.emr-solitaire-toolbar button:hover {\n  background: #ff2b2b;\n}\n\n.emr-sol-progress {\n  max-width: 560px;\n  margin: -8px auto 14px;\n}\n\n.emr-sol-progress > div {\n  height: 9px;\n  overflow: hidden;\n  border-radius: 999px;\n  background: rgba(255,255,255,0.10);\n}\n\n.emr-sol-progress span {\n  display: block;\n  width: 0;\n  height: 100%;\n  border-radius: inherit;\n  background: linear-gradient(90deg, #22c55e, #facc15);\n  transition: width 0.3s ease;\n}\n\n.emr-sol-progress small {\n  display: block;\n  color: #cbd5e1;\n  margin-top: 7px;\n}\n\n.emr-sol-message {\n  min-height: 24px;\n  color: #22c55e;\n  font-weight: 800;\n  margin-bottom: 8px;\n}\n\n.emr-sol-hint {\n  min-height: 24px;\n  color: #facc15;\n  font-weight: 800;\n  margin-bottom: 12px;\n}\n\n.emr-solitaire-board {\n  background: radial-gradient(circle at top, rgba(34,197,94,0.18), rgba(2,6,23,0.45));\n  border: 1px solid rgba(255,255,255,0.10);\n  border-radius: 20px;\n  padding: clamp(8px, 2vw, 18px);\n  overflow: hidden;\n}\n\n.emr-sol-top {\n  display: grid;\n  grid-template-columns: var(--emr-card-width) var(--emr-card-width) 1fr;\n  gap: var(--emr-card-gap);\n  align-items: start;\n  margin-bottom: 24px;\n}\n\n.emr-sol-foundations {\n  display: grid;\n  grid-template-columns: repeat(4, var(--emr-card-width));\n  gap: var(--emr-card-gap);\n  justify-content: end;\n}\n\n.emr-sol-stock,\n.emr-sol-waste,\n.emr-sol-foundation {\n  width: var(--emr-card-width);\n  height: auto;\n  aspect-ratio: 13 \/ 18;\n  border-radius: 12px;\n  border: 2px dashed rgba(255,255,255,0.20);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: clamp(18px, 5vw, 30px);\n  box-sizing: border-box;\n}\n\n.emr-sol-stock {\n  cursor: pointer;\n  background-image:\n    url('https:\/\/erdelyimagyarradio.eu\/wp-content\/uploads\/2022\/12\/EMRlogo-e1672220343783.png'),\n    linear-gradient(145deg, #111827, #25104d);\n  background-size: 72% auto, cover;\n  background-position: center, center;\n  background-repeat: no-repeat;\n  border: 2px solid rgba(255,255,255,0.20);\n}\n\n.emr-sol-stock.empty {\n  background-image: none;\n  background: rgba(255,255,255,0.06);\n}\n\n.emr-sol-tableau {\n  display: grid;\n  grid-template-columns: repeat(7, 1fr);\n  gap: var(--emr-card-gap);\n  align-items: start;\n}\n\n.emr-sol-column {\n  min-width: 0;\n  min-height: calc(var(--emr-card-width) + 50px);\n  border-radius: 12px;\n  border: 1px dashed rgba(255,255,255,0.12);\n  padding: 4px;\n}\n\n.emr-card {\n  width: var(--emr-card-width);\n  height: auto;\n  aspect-ratio: 13 \/ 18;\n  background: #ffffff;\n  color: #111827;\n  border-radius: 10px;\n  border: 1px solid rgba(0,0,0,0.18);\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  padding: clamp(3px, 0.8vw, 7px);\n  box-sizing: border-box;\n  font-weight: 900;\n  cursor: pointer;\n  user-select: none;\n  margin: 0 auto;\n  box-shadow: 0 8px 18px rgba(0,0,0,0.30);\n  position: relative;\n  touch-action: manipulation;\n}\n\n.emr-card + .emr-card {\n  margin-top: -92%;\n}\n\n.emr-card.red {\n  color: #e31b23;\n}\n\n.emr-card.black {\n  color: #111827;\n}\n\n.emr-card.back {\n  background-image:\n    url('https:\/\/erdelyimagyarradio.eu\/wp-content\/uploads\/2022\/12\/EMRlogo-e1672220343783.png'),\n    linear-gradient(145deg, #111827, #25104d);\n  background-size: 72% auto, cover;\n  background-position: center, center;\n  background-repeat: no-repeat;\n  color: transparent;\n  border: 1px solid rgba(255,255,255,0.20);\n}\n\n.emr-card.selected {\n  outline: 4px solid #22c55e;\n  transform: translateY(-4px);\n}\n\n.emr-card.hint,\n.emr-sol-column.hint,\n.emr-sol-foundation.hint,\n.emr-sol-stock.hint {\n  outline: 4px solid #facc15 !important;\n  box-shadow: 0 0 22px rgba(250,204,21,0.65) !important;\n}\n\n.emr-card-top {\n  text-align: left;\n  font-size: clamp(10px, 2.8vw, 18px);\n}\n\n.emr-card-mid {\n  font-size: clamp(17px, 5vw, 32px);\n}\n\n.emr-card-bottom {\n  text-align: right;\n  font-size: clamp(10px, 2.8vw, 18px);\n}\n\n.emr-sol-help {\n  color: #cbd5e1;\n  margin-top: 18px;\n  font-size: 14px;\n  line-height: 1.5;\n}\n\n.emr-sol-leaderboard {\n  margin-top: 28px;\n  padding: 18px;\n  border: 1px solid rgba(255,255,255,0.10);\n  border-radius: 18px;\n  background: rgba(0,0,0,0.24);\n  text-align: left;\n}\n\n.emr-sol-leaderboard h3 {\n  margin: 0 0 14px;\n  color: #ffffff;\n  text-align: center;\n}\n\n.emr-sol-score-row {\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 6px 12px;\n  align-items: center;\n  padding: 10px 0;\n  border-bottom: 1px solid rgba(255,255,255,0.08);\n}\n\n.emr-sol-score-row:last-child {\n  border-bottom: 0;\n}\n\n.emr-sol-score-row span {\n  color: #ffffff;\n  font-weight: 800;\n}\n\n.emr-sol-score-row strong {\n  color: #22c55e;\n}\n\n.emr-sol-score-row small {\n  grid-column: 1 \/ -1;\n  color: #cbd5e1;\n}\n\n.emr-sol-no-score {\n  color: #cbd5e1 !important;\n  text-align: center;\n}\n\n@media (max-width: 900px) {\n  .emr-solitaire-box {\n    padding: 20px 8px;\n  }\n}\n\n@media (max-width: 480px) {\n  .emr-solitaire-box {\n    margin: 24px auto;\n    border-radius: 16px;\n    --emr-card-width: calc((100vw - 54px) \/ 7);\n    --emr-card-gap: 2px;\n  }\n\n  .emr-solitaire-box h2 {\n    font-size: 24px;\n  }\n\n  .emr-solitaire-toolbar {\n    gap: 8px;\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .emr-solitaire-toolbar button,\n  .emr-solitaire-toolbar div {\n    min-width: 0;\n    font-size: 12px;\n    padding: 9px 5px;\n  }\n\n  .emr-solitaire-board {\n    border-radius: 12px;\n    padding: 7px 4px 10px;\n  }\n\n  .emr-sol-top {\n    margin-bottom: 16px;\n  }\n\n  .emr-sol-column {\n    padding: 1px;\n    border-radius: 6px;\n  }\n\n  .emr-card,\n  .emr-sol-stock,\n  .emr-sol-waste,\n  .emr-sol-foundation {\n    border-radius: 6px;\n  }\n\n  .emr-card.selected {\n    outline-width: 2px;\n  }\n\n  .emr-sol-score-row {\n    grid-template-columns: 1fr;\n    text-align: center;\n  }\n}\n<\/style>\n\n<script>\n(function() {\n  const suits = [\n    { id: 'hearts', symbol: '\u2665', color: 'red' },\n    { id: 'diamonds', symbol: '\u2666', color: 'red' },\n    { id: 'clubs', symbol: '\u2663', color: 'black' },\n    { id: 'spades', symbol: '\u2660', color: 'black' }\n  ];\n\n  const rankLabels = {\n    1: 'A',\n    11: 'J',\n    12: 'Q',\n    13: 'K'\n  };\n\n  let deck = [];\n  let stock = [];\n  let waste = [];\n  let foundations = {};\n  let tableau = [];\n  let selected = null;\n  let moves = 0;\n  let seconds = 0;\n  let score = 0;\n  let timer = null;\n  let started = false;\n  let gameWon = false;\n  let autoCompleting = false;\n  let redealsUsed = 0;\n  let gameActive = false;\n\n  let totalScore = 0;\n  let currentDifficulty = null;\n\n  const stockEl = document.getElementById('emrSolStock');\n  const wasteEl = document.getElementById('emrSolWaste');\n  const tableauEl = document.getElementById('emrSolTableau');\n  const messageEl = document.getElementById('emrSolMessage');\n  const hintEl = document.getElementById('emrSolHint');\n  const timeEl = document.getElementById('emrSolTime');\n  const movesEl = document.getElementById('emrSolMoves');\n  const scoreEl = document.getElementById('emrSolScore');\n  const difficultyEl = document.getElementById('emrSolDifficulty');\n  const totalScoreEl = document.getElementById('emrSolTotalScore');\n  const redealsEl = document.getElementById('emrSolRedeals');\n  const progressBarEl = document.getElementById('emrSolProgressBar');\n  const progressTextEl = document.getElementById('emrSolProgressText');\n  const playerNameInput = document.getElementById('emrSolPlayerName');\n  const leaderboardEl = document.getElementById('emrSolLeaderboardList');\n  const newGameBtn = document.getElementById('emrSolNewGameBtn');\n  const hintBtn = document.getElementById('emrSolHintBtn');\n  const autoBtn = document.getElementById('emrSolAutoBtn');\n\n  function emptyFoundations() {\n    return {\n      hearts: [],\n      diamonds: [],\n      clubs: [],\n      spades: []\n    };\n  }\n\n  function getAutoDifficulty(points) {\n    if (points < 1400) {\n      return {\n        id: 'beginner',\n        name: 'Kezd\u0151',\n        minScore: 0,\n        nextScore: 1400,\n        multiplier: 0.75,\n        drawCount: 1,\n        maxRedeals: null\n      };\n    }\n\n    if (points < 4500) {\n      return {\n        id: 'easy',\n        name: 'K\u00f6nny\u0171',\n        minScore: 1400,\n        nextScore: 4500,\n        multiplier: 0.9,\n        drawCount: 1,\n        maxRedeals: null\n      };\n    }\n\n    if (points < 10000) {\n      return {\n        id: 'normal',\n        name: 'Klasszikus',\n        minScore: 4500,\n        nextScore: 10000,\n        multiplier: 1.1,\n        drawCount: 1,\n        maxRedeals: 3\n      };\n    }\n\n    return {\n      id: 'hard',\n      name: 'Halad\u00f3',\n      minScore: 10000,\n      nextScore: null,\n      multiplier: 1.35,\n      drawCount: 3,\n      maxRedeals: 1\n    };\n  }\n\n  function updateDifficultyInfo() {\n    currentDifficulty = getAutoDifficulty(totalScore);\n\n    if (difficultyEl) {\n      difficultyEl.textContent = currentDifficulty.name;\n    }\n\n    if (totalScoreEl) {\n      totalScoreEl.textContent = totalScore;\n    }\n\n    if (currentDifficulty.nextScore === null) {\n      progressBarEl.style.width = '100%';\n      progressTextEl.textContent = totalScore + ' \u00f6sszpont \u00b7 Legmagasabb szint';\n    } else {\n      const levelPoints = totalScore - currentDifficulty.minScore;\n      const levelRange = currentDifficulty.nextScore - currentDifficulty.minScore;\n      const percent = Math.max(0, Math.min(100, Math.round((levelPoints \/ levelRange) * 100)));\n      const remaining = currentDifficulty.nextScore - totalScore;\n\n      progressBarEl.style.width = percent + '%';\n      progressTextEl.textContent = totalScore + ' \u00f6sszpont \u00b7 m\u00e9g ' + remaining + ' pont a k\u00f6vetkez\u0151 szintig';\n    }\n\n    updateRedeals();\n  }\n\n  function updateRedeals() {\n    if (!redealsEl || !currentDifficulty) {\n      return;\n    }\n\n    if (currentDifficulty.maxRedeals === null) {\n      redealsEl.textContent = '\u221e';\n      return;\n    }\n\n    redealsEl.textContent = Math.max(0, currentDifficulty.maxRedeals - redealsUsed);\n  }\n\n  function createDeck() {\n    const cards = [];\n\n    suits.forEach(function(suit) {\n      for (let rank = 1; rank <= 13; rank++) {\n        cards.push({\n          suit: suit.id,\n          symbol: suit.symbol,\n          color: suit.color,\n          rank: rank,\n          faceUp: false,\n          id: suit.id + '-' + rank + '-' + Math.random()\n        });\n      }\n    });\n\n    return cards;\n  }\n\n  function shuffle(cards) {\n    for (let i = cards.length - 1; i > 0; i--) {\n      const j = Math.floor(Math.random() * (i + 1));\n      const tmp = cards[i];\n      cards[i] = cards[j];\n      cards[j] = tmp;\n    }\n\n    return cards;\n  }\n\n  function label(card) {\n    return rankLabels[card.rank] || card.rank;\n  }\n\n  function cardName(card) {\n    return label(card) + card.symbol;\n  }\n\n  function startTimer() {\n    if (started) {\n      return;\n    }\n\n    started = true;\n\n    timer = setInterval(function() {\n      seconds++;\n      updateStats();\n    }, 1000);\n  }\n\n  function stopTimer() {\n    if (timer) {\n      clearInterval(timer);\n      timer = null;\n    }\n  }\n\n  function updateStats() {\n    timeEl.textContent = seconds + ' mp';\n    movesEl.textContent = moves;\n    scoreEl.textContent = score;\n\n    if (totalScoreEl) {\n      totalScoreEl.textContent = totalScore;\n    }\n\n    if (difficultyEl && currentDifficulty) {\n      difficultyEl.textContent = currentDifficulty.name;\n    }\n  }\n\n  function addMove(points) {\n    moves++;\n    score += points || 0;\n\n    if (score < 0) {\n      score = 0;\n    }\n\n    updateStats();\n  }\n\n  function clearHint() {\n    document.querySelectorAll('.hint').forEach(function(el) {\n      el.classList.remove('hint');\n    });\n\n    if (hintEl) {\n      hintEl.textContent = '';\n    }\n  }\n\n  function clearSelection() {\n    selected = null;\n  }\n\n  function getHiddenCountForColumn(col) {\n    if (currentDifficulty.id === 'beginner') {\n      return Math.min(col, 1);\n    }\n\n    if (currentDifficulty.id === 'easy') {\n      return Math.min(col, 2);\n    }\n\n    return col;\n  }\n\n  function dealBeginner() {\n    let cards = createDeck();\n\n    stock = [];\n    waste = [];\n    foundations = emptyFoundations();\n    tableau = [[], [], [], [], [], [], []];\n\n    \/*\n      Kezd\u0151 m\u00f3d:\n      Nem ter\u00edti ki az \u00f6sszes lapot.\n      N\u00e9gy biztons\u00e1gos tanul\u00f3 oszlop van, leford\u00edtott lapokkal.\n      \u00cdgy val\u00f3ban v\u00e9gig lehet rakni, de nem \u00fagy n\u00e9z ki, mintha k\u00e9sz lenne.\n    *\/\n    const suitOrder = ['hearts', 'diamonds', 'clubs', 'spades'];\n\n    suitOrder.forEach(function(suit, colIndex) {\n      for (let rank = 13; rank >= 1; rank--) {\n        const card = cards.find(function(c) {\n          return c.suit === suit && c.rank === rank;\n        });\n\n        if (card) {\n          card.faceUp = rank === 1;\n          tableau[colIndex].push(card);\n        }\n      }\n    });\n\n    messageEl.textContent = '\ud83c\udf93 Tanul\u00f3p\u00e1lya: \u00e9rints meg k\u00e9tszer egy szabad lapot, \u00e9s automatikusan az alapra ker\u00fcl.';\n  }\n\n  function dealNormal() {\n    let cards = shuffle(createDeck());\n\n    stock = [];\n    waste = [];\n    foundations = emptyFoundations();\n    tableau = [[], [], [], [], [], [], []];\n\n    for (let col = 0; col < 7; col++) {\n      const hiddenCount = getHiddenCountForColumn(col);\n\n      for (let row = 0; row <= col; row++) {\n        const card = cards.pop();\n        card.faceUp = row >= hiddenCount;\n        tableau[col].push(card);\n      }\n    }\n\n    stock = cards;\n  }\n\n  function deal() {\n    updateDifficultyInfo();\n\n    if (currentDifficulty.id === 'beginner') {\n      dealBeginner();\n      return;\n    }\n\n    dealNormal();\n    messageEl.textContent = '';\n  }\n\n  function renderCard(card, source, colIndex, cardIndex) {\n    const el = document.createElement('div');\n    el.className = 'emr-card';\n\n    el.dataset.source = source;\n    el.dataset.colIndex = colIndex;\n    el.dataset.cardIndex = cardIndex;\n\n    if (!card.faceUp) {\n      el.classList.add('back');\n      el.innerHTML = '';\n      return el;\n    }\n\n    el.classList.add(card.color);\n\n    if (\n      selected &&\n      selected.source === source &&\n      selected.colIndex === colIndex &&\n      selected.cardIndex === cardIndex\n    ) {\n      el.classList.add('selected');\n    }\n\n    el.innerHTML =\n      '<div class=\"emr-card-top\">' + label(card) + card.symbol + '<\/div>' +\n      '<div class=\"emr-card-mid\">' + card.symbol + '<\/div>' +\n      '<div class=\"emr-card-bottom\">' + label(card) + card.symbol + '<\/div>';\n\n    el.addEventListener('click', function(e) {\n      e.preventDefault();\n      e.stopPropagation();\n\n      if (gameWon || autoCompleting) {\n        return false;\n      }\n\n      if (!gameActive) {\n        messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n        playerNameInput.focus();\n        return false;\n      }\n\n      startTimer();\n      clearHint();\n\n      if (selected) {\n        if (source === 'tableau') {\n          if (\n            selected.source === 'tableau' &&\n            selected.colIndex === colIndex &&\n            cardIndex >= selected.cardIndex\n          ) {\n            const selectedCard = selected.cards[0];\n\n            if (selected.cards.length === 1 && canMoveToFoundation(selectedCard)) {\n              tryMoveToFoundation(selectedCard.suit);\n            } else {\n              clearSelection();\n              render();\n            }\n\n            return false;\n          }\n\n          tryMoveToTableau(colIndex);\n          return false;\n        }\n\n        if (source === 'foundation') {\n          tryMoveToFoundation(colIndex);\n          return false;\n        }\n\n        if (source === 'waste') {\n          const selectedCard = selected.cards[0];\n\n          if (canMoveToFoundation(selectedCard)) {\n            tryMoveToFoundation(selectedCard.suit);\n          } else {\n            clearSelection();\n            render();\n          }\n\n          return false;\n        }\n      }\n\n      selectCard(source, colIndex, cardIndex);\n      return false;\n    });\n\n    return el;\n  }\n\n  function render() {\n    stockEl.innerHTML = '';\n    stockEl.classList.toggle('empty', stock.length === 0);\n\n    if (stock.length === 0) {\n      stockEl.textContent = '\u21bb';\n    }\n\n    wasteEl.innerHTML = '';\n\n    if (waste.length) {\n      wasteEl.appendChild(renderCard(waste[waste.length - 1], 'waste', null, waste.length - 1));\n    }\n\n    document.querySelectorAll('.emr-sol-foundation').forEach(function(el) {\n      const suit = el.getAttribute('data-suit');\n      const pile = foundations[suit];\n\n      el.innerHTML = '';\n\n      if (pile.length) {\n        el.appendChild(renderCard(pile[pile.length - 1], 'foundation', suit, pile.length - 1));\n      } else {\n        const suitObj = suits.find(function(s) {\n          return s.id === suit;\n        });\n\n        el.textContent = suitObj ? suitObj.symbol : '';\n      }\n    });\n\n    tableauEl.innerHTML = '';\n\n    tableau.forEach(function(column, colIndex) {\n      const colEl = document.createElement('div');\n      colEl.className = 'emr-sol-column';\n      colEl.dataset.colIndex = colIndex;\n\n      colEl.addEventListener('click', function(e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        if (gameWon || autoCompleting) {\n          return false;\n        }\n\n        if (!gameActive) {\n          messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n          playerNameInput.focus();\n          return false;\n        }\n\n        clearHint();\n        tryMoveToTableau(colIndex);\n        return false;\n      });\n\n      column.forEach(function(card, cardIndex) {\n        colEl.appendChild(renderCard(card, 'tableau', colIndex, cardIndex));\n      });\n\n      tableauEl.appendChild(colEl);\n    });\n\n    updateStats();\n  }\n\n  function selectCard(source, colIndex, cardIndex) {\n    if (source === 'waste') {\n      if (!waste.length) {\n        return;\n      }\n\n      selected = {\n        source: 'waste',\n        cardIndex: waste.length - 1,\n        cards: [waste[waste.length - 1]]\n      };\n\n      render();\n      return;\n    }\n\n    if (source === 'tableau') {\n      const card = tableau[colIndex][cardIndex];\n\n      if (!card || !card.faceUp) {\n        return;\n      }\n\n      selected = {\n        source: 'tableau',\n        colIndex: colIndex,\n        cardIndex: cardIndex,\n        cards: tableau[colIndex].slice(cardIndex)\n      };\n\n      render();\n    }\n  }\n\n  function canMoveToTableau(cards, targetColumn) {\n    if (!cards || !cards.length) {\n      return false;\n    }\n\n    const moving = cards[0];\n    const target = tableau[targetColumn];\n\n    if (!target.length) {\n      return moving.rank === 13;\n    }\n\n    const top = target[target.length - 1];\n\n    return top.faceUp && moving.color !== top.color && moving.rank === top.rank - 1;\n  }\n\n  function tryMoveToTableau(targetColumn) {\n    if (!selected) {\n      return;\n    }\n\n    if (!canMoveToTableau(selected.cards, targetColumn)) {\n      clearSelection();\n      render();\n      return;\n    }\n\n    if (selected.source === 'waste') {\n      tableau[targetColumn].push(waste.pop());\n      addMove(5);\n    }\n\n    if (selected.source === 'tableau') {\n      const movingCards = tableau[selected.colIndex].splice(selected.cardIndex);\n      tableau[targetColumn] = tableau[targetColumn].concat(movingCards);\n      revealTop(selected.colIndex);\n      addMove(5);\n    }\n\n    clearSelection();\n    render();\n    checkWin();\n    maybeAutoComplete();\n  }\n\n  function canMoveToFoundation(card) {\n    const pile = foundations[card.suit];\n\n    if (!pile.length) {\n      return card.rank === 1;\n    }\n\n    const top = pile[pile.length - 1];\n\n    return card.rank === top.rank + 1;\n  }\n\n  function tryMoveToFoundation(suit) {\n    if (!selected || selected.cards.length !== 1) {\n      return;\n    }\n\n    const card = selected.cards[0];\n\n    if (card.suit !== suit || !canMoveToFoundation(card)) {\n      clearSelection();\n      render();\n      return;\n    }\n\n    if (selected.source === 'waste') {\n      foundations[suit].push(waste.pop());\n      addMove(10);\n    }\n\n    if (selected.source === 'tableau') {\n      foundations[suit].push(tableau[selected.colIndex].pop());\n      revealTop(selected.colIndex);\n      addMove(10);\n    }\n\n    clearSelection();\n    render();\n    checkWin();\n    maybeAutoComplete();\n  }\n\n  function revealTop(colIndex) {\n    const column = tableau[colIndex];\n\n    if (column.length && !column[column.length - 1].faceUp) {\n      column[column.length - 1].faceUp = true;\n      score += 5;\n    }\n  }\n\n  function drawStock() {\n    if (!gameActive || gameWon || autoCompleting) {\n      if (!gameActive) {\n        messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n        playerNameInput.focus();\n      }\n\n      return;\n    }\n\n    startTimer();\n    clearHint();\n\n    if (stock.length) {\n      const drawCount = currentDifficulty ? currentDifficulty.drawCount : 1;\n\n      for (let i = 0; i < drawCount; i++) {\n        if (!stock.length) {\n          break;\n        }\n\n        const card = stock.pop();\n        card.faceUp = true;\n        waste.push(card);\n      }\n\n      addMove(-1);\n      clearSelection();\n      render();\n      return;\n    }\n\n    if (waste.length) {\n      if (\n        currentDifficulty.maxRedeals !== null &&\n        redealsUsed >= currentDifficulty.maxRedeals\n      ) {\n        messageEl.textContent = 'A szinten elfogytak az \u00fajrakever\u00e9sek. Pr\u00f3b\u00e1lj m\u00e1sik l\u00e9p\u00e9st vagy k\u00e9rj s\u00fag\u00f3t.';\n        return;\n      }\n\n      stock = waste.reverse().map(function(card) {\n        card.faceUp = false;\n        return card;\n      });\n\n      waste = [];\n      redealsUsed++;\n      addMove(-5);\n      updateRedeals();\n      clearSelection();\n      render();\n    }\n  }\n\n  function allTableauCardsFaceUp() {\n    return tableau.every(function(column) {\n      return column.every(function(card) {\n        return card.faceUp;\n      });\n    });\n  }\n\n  function findFoundationMove() {\n    if (waste.length) {\n      const wasteCard = waste[waste.length - 1];\n\n      if (canMoveToFoundation(wasteCard)) {\n        return {\n          type: 'waste',\n          card: wasteCard\n        };\n      }\n    }\n\n    for (let col = 0; col < tableau.length; col++) {\n      const column = tableau[col];\n\n      if (!column.length) {\n        continue;\n      }\n\n      const card = column[column.length - 1];\n\n      if (card.faceUp && canMoveToFoundation(card)) {\n        return {\n          type: 'tableau',\n          col: col,\n          card: card\n        };\n      }\n    }\n\n    return null;\n  }\n\n  function runAutoComplete(force) {\n    clearHint();\n\n    if (autoCompleting || gameWon) {\n      return;\n    }\n\n    if (stock.length || waste.length || !allTableauCardsFaceUp()) {\n      if (force && hintEl) {\n        hintEl.textContent = '\ud83d\udca1 Az automatikus befejez\u00e9s akkor indul, amikor minden lap l\u00e1that\u00f3.';\n      }\n\n      return;\n    }\n\n    autoCompleting = true;\n    messageEl.textContent = '\u2728 Automatikus befejez\u00e9s folyamatban...';\n\n    function step() {\n      const move = findFoundationMove();\n\n      if (!move) {\n        autoCompleting = false;\n        render();\n        checkWin();\n\n        if (!gameWon && hintEl) {\n          hintEl.textContent = '\ud83d\udca1 Most nincs t\u00f6bb automatikus alapra rakhat\u00f3 lap.';\n        }\n\n        return;\n      }\n\n      if (move.type === 'waste') {\n        foundations[move.card.suit].push(waste.pop());\n      }\n\n      if (move.type === 'tableau') {\n        foundations[move.card.suit].push(tableau[move.col].pop());\n        revealTop(move.col);\n      }\n\n      moves++;\n      score += 8;\n\n      render();\n      checkWin();\n\n      if (gameWon) {\n        autoCompleting = false;\n        return;\n      }\n\n      setTimeout(step, 160);\n    }\n\n    step();\n  }\n\n  function maybeAutoComplete() {\n    if (stock.length === 0 && waste.length === 0 && allTableauCardsFaceUp()) {\n      setTimeout(function() {\n        runAutoComplete(false);\n      }, 350);\n    }\n  }\n\n  function checkWin() {\n    if (gameWon) {\n      return;\n    }\n\n    const total =\n      foundations.hearts.length +\n      foundations.diamonds.length +\n      foundations.clubs.length +\n      foundations.spades.length;\n\n    if (total === 52) {\n      gameWon = true;\n      stopTimer();\n\n      const bonus = Math.max(0, 1000 - seconds);\n      const multiplier = currentDifficulty ? currentDifficulty.multiplier : 1;\n      const completedDifficulty = currentDifficulty;\n\n      score += Math.round(bonus * multiplier);\n      totalScore += score;\n\n      updateDifficultyInfo();\n      updateStats();\n\n      messageEl.textContent =\n        '\ud83c\udf89 Gratul\u00e1lunk! Kiraktad a Solitaire-t! Eredm\u00e9ny: ' +\n        score +\n        ' pont. \u00d6sszpontod: ' +\n        totalScore +\n        '.' +\n        (completedDifficulty.id !== currentDifficulty.id\n          ? ' \u00daj szintet nyitott\u00e1l: ' + currentDifficulty.name + '!'\n          : '');\n\n      saveSolitaireScore(score, completedDifficulty.name);\n    }\n  }\n\n  function saveSolitaireScore(gameScore, completedLevel) {\n    const formData = new FormData();\n    formData.append('action', 'emr_save_solitaire_score');\n    formData.append('nonce', window.emrGameScores.nonce);\n    formData.append('name', playerNameInput.value.trim());\n    formData.append('score', gameScore);\n    formData.append('seconds', Math.max(1, seconds));\n    formData.append('moves', Math.max(1, moves));\n    formData.append('level', completedLevel);\n\n    fetch(window.emrGameScores.ajaxUrl, {\n      method: 'POST',\n      body: formData,\n      credentials: 'same-origin'\n    })\n    .then(function(response) {\n      return response.json();\n    })\n    .then(function(result) {\n      if (result.success && result.data) {\n        totalScore = parseInt(result.data.player_total, 10) || totalScore;\n        updateDifficultyInfo();\n        updateStats();\n        window.emrGameScores.updateGameScore('solitaire', totalScore);\n        renderSolitaireLeaderboard(result.data.scores);\n      } else if (result.data && result.data.message) {\n        messageEl.textContent += ' Ment\u00e9si hiba: ' + result.data.message;\n      }\n    })\n    .catch(function(error) {\n      console.error('Paszi\u00e1nsz pontment\u00e9si hiba:', error);\n      messageEl.textContent += ' A pontment\u00e9s most nem siker\u00fclt.';\n    });\n  }\n\n  function renderSolitaireLeaderboard(scores) {\n    if (!scores || !scores.length) {\n      leaderboardEl.innerHTML = '<p class=\"emr-sol-no-score\">M\u00e9g nincs paszi\u00e1nsz eredm\u00e9ny. Legy\u00e9l te az els\u0151!<\/p>';\n      return;\n    }\n\n    leaderboardEl.innerHTML = '';\n\n    scores.forEach(function(item, index) {\n      const row = document.createElement('div');\n      row.className = 'emr-sol-score-row';\n      row.innerHTML =\n        '<span>' + (index + 1) + '. ' + escapeSolitaireHtml(item.name) + '<\/span>' +\n        '<strong>' + parseInt(item.score, 10) + ' pont<\/strong>' +\n        '<small>' +\n        parseInt(item.games || 1, 10) + ' j\u00e1t\u00e9k \/ ' +\n        parseInt(item.seconds, 10) + ' mp \/ ' +\n        parseInt(item.moves, 10) + ' l\u00e9p\u00e9s' +\n        '<\/small>';\n      leaderboardEl.appendChild(row);\n    });\n  }\n\n  function escapeSolitaireHtml(text) {\n    const div = document.createElement('div');\n    div.textContent = text || '';\n    return div.innerHTML;\n  }\n\n  function importLegacySolitaireScore(playerScores) {\n    const legacyScore = parseInt(localStorage.getItem('emrSolTotalScore') || '0', 10);\n    const alreadyMigrated = localStorage.getItem('emrSolLegacyMigrated') === '1';\n\n    if (!Number.isFinite(legacyScore) || legacyScore <= 0 || alreadyMigrated) {\n      return Promise.resolve(playerScores);\n    }\n\n    let migrationId = localStorage.getItem('emrSolMigrationId');\n\n    if (!migrationId) {\n      migrationId = window.crypto && window.crypto.randomUUID\n        ? window.crypto.randomUUID()\n        : 'emr-' + Date.now() + '-' + Math.random().toString(36).slice(2);\n      localStorage.setItem('emrSolMigrationId', migrationId);\n    }\n\n    const formData = new FormData();\n    formData.append('action', 'emr_import_legacy_solitaire_score');\n    formData.append('nonce', window.emrGameScores.nonce);\n    formData.append('name', playerNameInput.value.trim());\n    formData.append('score', legacyScore);\n    formData.append('migration_id', migrationId);\n\n    return fetch(window.emrGameScores.ajaxUrl, {\n      method: 'POST',\n      body: formData,\n      credentials: 'same-origin'\n    })\n    .then(function(response) {\n      return response.json();\n    })\n    .then(function(result) {\n      if (!result.success || !result.data) {\n        return playerScores;\n      }\n\n      localStorage.setItem('emrSolLegacyMigrated', '1');\n      playerScores.solitaire = parseInt(result.data.player_total, 10) || playerScores.solitaire;\n      window.emrGameScores.updateGameScore('solitaire', playerScores.solitaire);\n      renderSolitaireLeaderboard(result.data.scores);\n      messageEl.textContent = 'A kor\u00e1bbi paszi\u00e1nsz pontjaidat hozz\u00e1adtuk ehhez a j\u00e1t\u00e9kosn\u00e9vhez.';\n\n      return playerScores;\n    })\n    .catch(function() {\n      return playerScores;\n    });\n  }\n\n  function highlightCard(source, colIndex, cardIndex) {\n    const selector =\n      '.emr-card[data-source=\"' + source + '\"][data-col-index=\"' + colIndex + '\"][data-card-index=\"' + cardIndex + '\"]';\n\n    const el = document.querySelector(selector);\n\n    if (el) {\n      el.classList.add('hint');\n    }\n  }\n\n  function highlightWaste() {\n    const el = document.querySelector('.emr-card[data-source=\"waste\"]');\n\n    if (el) {\n      el.classList.add('hint');\n    }\n  }\n\n  function highlightColumn(colIndex) {\n    const el = document.querySelector('.emr-sol-column[data-col-index=\"' + colIndex + '\"]');\n\n    if (el) {\n      el.classList.add('hint');\n    }\n  }\n\n  function highlightFoundation(suit) {\n    const el = document.querySelector('.emr-sol-foundation[data-suit=\"' + suit + '\"]');\n\n    if (el) {\n      el.classList.add('hint');\n    }\n  }\n\n  function findHint() {\n    if (waste.length) {\n      const card = waste[waste.length - 1];\n\n      if (canMoveToFoundation(card)) {\n        return {\n          text: 'Tedd a dob\u00f3pakli lapj\u00e1t az alapra: ' + cardName(card),\n          source: 'waste',\n          foundation: card.suit\n        };\n      }\n    }\n\n    for (let col = 0; col < tableau.length; col++) {\n      const column = tableau[col];\n\n      if (!column.length) {\n        continue;\n      }\n\n      const card = column[column.length - 1];\n\n      if (card.faceUp && canMoveToFoundation(card)) {\n        return {\n          text: 'Tedd ezt az alapra: ' + cardName(card),\n          source: 'tableau',\n          colIndex: col,\n          cardIndex: column.length - 1,\n          foundation: card.suit\n        };\n      }\n    }\n\n    for (let fromCol = 0; fromCol < tableau.length; fromCol++) {\n      const column = tableau[fromCol];\n\n      for (let cardIndex = 0; cardIndex < column.length; cardIndex++) {\n        const card = column[cardIndex];\n\n        if (!card.faceUp) {\n          continue;\n        }\n\n        const movingCards = column.slice(cardIndex);\n\n        for (let toCol = 0; toCol < tableau.length; toCol++) {\n          if (fromCol === toCol) {\n            continue;\n          }\n\n          if (canMoveToTableau(movingCards, toCol)) {\n            return {\n              text: 'Mozgasd ezt az oszlopra: ' + cardName(card),\n              source: 'tableau',\n              colIndex: fromCol,\n              cardIndex: cardIndex,\n              targetColumn: toCol\n            };\n          }\n        }\n      }\n    }\n\n    if (waste.length) {\n      const card = waste[waste.length - 1];\n\n      for (let toCol = 0; toCol < tableau.length; toCol++) {\n        if (canMoveToTableau([card], toCol)) {\n          return {\n            text: 'Mozgasd a dob\u00f3pakli lapj\u00e1t ide: ' + cardName(card),\n            source: 'waste',\n            targetColumn: toCol\n          };\n        }\n      }\n    }\n\n    return null;\n  }\n\n  window.emrSolitaireHint = function() {\n    if (!gameActive) {\n      messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n      playerNameInput.focus();\n      return;\n    }\n\n    clearHint();\n\n    const hint = findHint();\n\n    if (!hint) {\n      if (stock.length) {\n        hintEl.textContent = '\ud83d\udca1 H\u00fazz egy lapot a paklib\u00f3l.';\n        stockEl.classList.add('hint');\n      } else if (waste.length) {\n        hintEl.textContent = '\ud83d\udca1 Ford\u00edtsd vissza a dob\u00f3paklit.';\n        stockEl.classList.add('hint');\n      } else {\n        hintEl.textContent = '\ud83d\udca1 Most nincs l\u00e1that\u00f3 szab\u00e1lyos l\u00e9p\u00e9s.';\n      }\n\n      return;\n    }\n\n    hintEl.textContent = '\ud83d\udca1 ' + hint.text;\n\n    if (hint.source === 'waste') {\n      highlightWaste();\n    }\n\n    if (hint.source === 'tableau') {\n      highlightCard('tableau', hint.colIndex, hint.cardIndex);\n    }\n\n    if (hint.foundation) {\n      highlightFoundation(hint.foundation);\n    }\n\n    if (typeof hint.targetColumn !== 'undefined') {\n      highlightColumn(hint.targetColumn);\n    }\n  };\n\n  window.emrSolitaireNewGame = async function() {\n    let playerScores = await window.emrGameScores.activate(playerNameInput, messageEl);\n\n    if (!playerScores) {\n      gameActive = false;\n      return;\n    }\n\n    playerScores = await importLegacySolitaireScore(playerScores);\n    totalScore = parseInt(playerScores.solitaire, 10) || 0;\n    gameActive = true;\n    stopTimer();\n\n    selected = null;\n    moves = 0;\n    seconds = 0;\n    score = 0;\n    redealsUsed = 0;\n    started = false;\n    gameWon = false;\n    autoCompleting = false;\n\n    clearHint();\n    updateDifficultyInfo();\n\n    messageEl.textContent = '';\n\n    deal();\n    render();\n  };\n\n  if (newGameBtn) {\n    newGameBtn.addEventListener('click', function(e) {\n      e.preventDefault();\n      e.stopPropagation();\n      window.emrSolitaireNewGame();\n      return false;\n    });\n  }\n\n  if (hintBtn) {\n    hintBtn.addEventListener('click', function(e) {\n      e.preventDefault();\n      e.stopPropagation();\n      window.emrSolitaireHint();\n      return false;\n    });\n  }\n\n  if (autoBtn) {\n    autoBtn.addEventListener('click', function(e) {\n      e.preventDefault();\n      e.stopPropagation();\n\n      if (!gameActive) {\n        messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n        playerNameInput.focus();\n        return false;\n      }\n\n      startTimer();\n      runAutoComplete(true);\n      return false;\n    });\n  }\n\n  stockEl.addEventListener('click', function(e) {\n    e.preventDefault();\n    e.stopPropagation();\n    drawStock();\n    return false;\n  });\n\n  document.querySelectorAll('.emr-sol-foundation').forEach(function(el) {\n    el.addEventListener('click', function(e) {\n      e.preventDefault();\n      e.stopPropagation();\n\n      if (gameWon || autoCompleting) {\n        return false;\n      }\n\n      if (!gameActive) {\n        messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n        playerNameInput.focus();\n        return false;\n      }\n\n      clearHint();\n\n      const suit = el.getAttribute('data-suit');\n      tryMoveToFoundation(suit);\n\n      return false;\n    });\n  });\n\n  playerNameInput.addEventListener('change', function() {\n    gameActive = false;\n  });\n\n  window.emrGameScores.loadName(\n    playerNameInput,\n    ''\n  );\n\n  foundations = emptyFoundations();\n  tableau = [[], [], [], [], [], [], []];\n  updateDifficultyInfo();\n  render();\n  messageEl.textContent = '\u00cdrd be a j\u00e1t\u00e9kosneved, majd ind\u00edtsd el a j\u00e1t\u00e9kot.';\n})();\n<\/script>\n    <\/div>\n\n    <style>\n    .emr-single-game-page {\n        max-width: 1180px;\n        margin: 0 auto;\n        padding: 20px 12px 40px;\n    }\n\n    .emr-game-page-nav {\n        display: flex;\n        justify-content: space-between;\n        gap: 12px;\n        align-items: center;\n        max-width: 980px;\n        margin: 0 auto 16px;\n        padding: 12px 14px;\n        border: 1px solid rgba(255,255,255,0.10);\n        border-radius: 14px;\n        background: rgba(15,23,42,0.90);\n        color: #ffffff;\n    }\n\n    .emr-game-page-nav a {\n        color: #facc15 !important;\n        text-decoration: none !important;\n        font-weight: 800;\n    }\n\n    @media (max-width: 520px) {\n        .emr-game-page-nav {\n            align-items: flex-start;\n            flex-direction: column;\n        }\n    }\n    <\/style>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":1309,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3948","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Paszi\u00e1nsz -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/pasziansz\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Paszi\u00e1nsz -\" \/>\n<meta property=\"og:url\" content=\"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/pasziansz\/\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/erdelyimagyarradio.eu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/pasziansz\\\/\",\"url\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/pasziansz\\\/\",\"name\":\"Paszi\u00e1nsz -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#website\"},\"datePublished\":\"2026-06-10T14:04:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/pasziansz\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/pasziansz\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/pasziansz\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Kezd\u0151lap\",\"item\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"J\u00e1t\u00e9kok\",\"item\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/jatekok\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Paszi\u00e1nsz\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#website\",\"url\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/\",\"name\":\"erdelyimagyarradio.eu\",\"description\":\"Ahol a zene sz\u00f3l...\",\"publisher\":{\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#organization\"},\"alternateName\":\"Magyar Radio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#organization\",\"name\":\"Magyar radio\",\"url\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/EMRlogo-e1672220343783.png\",\"contentUrl\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/EMRlogo-e1672220343783.png\",\"width\":512,\"height\":408,\"caption\":\"Magyar radio\"},\"image\":{\"@id\":\"https:\\\/\\\/erdelyimagyarradio.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/erdelyimagyarradio.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Paszi\u00e1nsz -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/pasziansz\/","og_locale":"en_US","og_type":"article","og_title":"Paszi\u00e1nsz -","og_url":"https:\/\/erdelyimagyarradio.eu\/en\/jatekok\/pasziansz\/","article_publisher":"https:\/\/www.facebook.com\/erdelyimagyarradio.eu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/","url":"https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/","name":"Paszi\u00e1nsz -","isPartOf":{"@id":"https:\/\/erdelyimagyarradio.eu\/#website"},"datePublished":"2026-06-10T14:04:58+00:00","breadcrumb":{"@id":"https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/erdelyimagyarradio.eu\/jatekok\/pasziansz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Kezd\u0151lap","item":"https:\/\/erdelyimagyarradio.eu\/"},{"@type":"ListItem","position":2,"name":"J\u00e1t\u00e9kok","item":"https:\/\/erdelyimagyarradio.eu\/jatekok\/"},{"@type":"ListItem","position":3,"name":"Paszi\u00e1nsz"}]},{"@type":"WebSite","@id":"https:\/\/erdelyimagyarradio.eu\/#website","url":"https:\/\/erdelyimagyarradio.eu\/","name":"erdelyimagyarradio.eu","description":"Ahol a zene sz\u00f3l...","publisher":{"@id":"https:\/\/erdelyimagyarradio.eu\/#organization"},"alternateName":"Magyar Radio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/erdelyimagyarradio.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/erdelyimagyarradio.eu\/#organization","name":"Magyar radio","url":"https:\/\/erdelyimagyarradio.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/erdelyimagyarradio.eu\/#\/schema\/logo\/image\/","url":"https:\/\/erdelyimagyarradio.eu\/wp-content\/uploads\/2022\/12\/EMRlogo-e1672220343783.png","contentUrl":"https:\/\/erdelyimagyarradio.eu\/wp-content\/uploads\/2022\/12\/EMRlogo-e1672220343783.png","width":512,"height":408,"caption":"Magyar radio"},"image":{"@id":"https:\/\/erdelyimagyarradio.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/erdelyimagyarradio.eu"]}]}},"_links":{"self":[{"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/pages\/3948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/comments?post=3948"}],"version-history":[{"count":0,"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/pages\/3948\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/pages\/1309"}],"wp:attachment":[{"href":"https:\/\/erdelyimagyarradio.eu\/en\/wp-json\/wp\/v2\/media?parent=3948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}