{"id":1423,"date":"2026-05-04T09:52:22","date_gmt":"2026-05-04T09:52:22","guid":{"rendered":"https:\/\/didiplayarea.com\/?page_id=1423"},"modified":"2026-05-04T09:57:30","modified_gmt":"2026-05-04T09:57:30","slug":"theme-decision-quiz","status":"publish","type":"page","link":"https:\/\/didiplayarea.com\/pt\/indoor-playground-themes-custom-design\/jungle-theme\/theme-decision-quiz\/","title":{"rendered":"quiz de decis\u00e3o tem\u00e1tica"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-7ee0934\" data-block-id=\"7ee0934\"><style>.stk-7ee0934 {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-7ee0934-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-5ea9b02\" data-v=\"4\" data-block-id=\"5ea9b02\"><style>.stk-5ea9b02-container{margin-top:var(--stk--preset--spacing--50, 1.5rem) !important;margin-right:var(--stk--preset--spacing--50, 1.5rem) !important;margin-bottom:var(--stk--preset--spacing--50, 1.5rem) !important;margin-left:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-5ea9b02-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-5ea9b02-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-61a791d\" data-block-id=\"61a791d\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-61a791d-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-35fbf5c\" data-v=\"4\" data-block-id=\"35fbf5c\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-35fbf5c-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-35fbf5c-inner-blocks\">\n<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>5-Theme Decision Quiz: Which Theme Fits Your Venue? | Didi Land<\/title>\n<style>\n:root{--c-primary:#00D8FF;--c-accent:#FFD848;--c-dark:#0b3a44;--c-soft:#f5f7fa;--c-muted:#6b7280;--c-border:#e5e7eb;}\n*{box-sizing:border-box}\nbody{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1f2937;background:linear-gradient(135deg,#f5f7fa,#e0f7fb)}\n.wrap{max-width:780px;margin:0 auto;padding:32px 24px}\nh1{color:var(--c-dark);font-size:28px;margin:0 0 8px;text-align:center}\n.lead{color:var(--c-muted);font-size:15px;margin:0 0 28px;text-align:center}\n.card{background:#fff;border:1px solid var(--c-border);border-radius:16px;padding:32px;box-shadow:0 12px 32px rgba(11,58,68,.08)}\n.progress{display:flex;gap:6px;margin-bottom:24px}\n.progress span{flex:1;height:6px;background:var(--c-border);border-radius:3px}\n.progress span.done{background:var(--c-primary)}\n.q{font-size:20px;font-weight:700;color:var(--c-dark);margin-bottom:18px}\n.options{display:grid;gap:10px}\n.option{padding:14px 18px;background:#fff;border:2px solid var(--c-border);border-radius:10px;cursor:pointer;transition:all .15s;font-size:15px}\n.option:hover{border-color:var(--c-primary);background:#e0f7fb}\n.result{text-align:center}\n.result h2{font-size:32px;color:var(--c-dark);margin:0 0 8px}\n.result .winner{display:inline-block;padding:6px 18px;background:var(--c-accent);color:#0b3a44;border-radius:999px;font-weight:700;font-size:15px;margin-bottom:14px}\n.scores{margin:24px 0;display:grid;grid-template-columns:1fr;gap:8px}\n.score-row{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--c-soft);border-radius:8px}\n.score-row.top{background:#fffbe5;border-left:3px solid var(--c-accent)}\n.score-row .name{flex:0 0 90px;font-weight:600;color:var(--c-dark)}\n.score-row .bar{flex:1;height:18px;background:#fff;border:1px solid var(--c-border);border-radius:9px;overflow:hidden}\n.score-row .bar-fill{height:100%;background:var(--c-primary);transition:width .3s}\n.score-row.top .bar-fill{background:var(--c-accent)}\n.score-row .pct{flex:0 0 50px;text-align:right;font-weight:700;color:var(--c-dark);font-variant-numeric:tabular-nums}\n.cta{display:inline-block;margin-top:14px;background:var(--c-accent);color:#0b3a44;padding:14px 28px;border-radius:10px;font-weight:700;text-decoration:none}\n.restart{display:inline-block;margin-top:8px;color:var(--c-muted);text-decoration:underline;cursor:pointer;background:none;border:none;font-size:14px}\n.rationale{text-align:left;background:var(--c-soft);padding:16px 20px;border-radius:8px;margin:18px 0;font-size:14px;color:#1f2937}\n.tagline{color:var(--c-muted);max-width:520px;margin:0 auto 14px}\n.hidden{display:none}\n<\/style>\n<\/head>\n<body>\n<div class=\"wrap\">\n  <h1>5-Theme Decision Quiz<\/h1>\n  <p class=\"lead\">Five questions. Two minutes. Get a data-driven recommendation across jungle, ocean, space, candy, and pirate themes \u2014 based on the Family Center Theme Performance Index (FCTPI).<\/p>\n\n  <div class=\"card\">\n    <!-- =========================================================\n         QUIZ PANEL \u2014 only progress bar, question text, and options\n         are updated by JS. This panel is shown during the quiz.\n         ========================================================= -->\n    <div id=\"quiz-panel\">\n      <div class=\"progress\" id=\"quiz-progress\"><\/div>\n      <div class=\"q\" id=\"quiz-question\"><\/div>\n      <div class=\"options\" id=\"quiz-options\"><\/div>\n    <\/div>\n\n    <!-- =========================================================\n         RESULT PANEL \u2014 STATIC HTML, hidden by default.\n         The CTA <a href=\"#ct-popup-800\"> exists from page load so\n         Blocksy's popup binding finds it during initialization.\n         JS only updates TEXT inside spans \/ strongs and the\n         #result-scores container. The link element itself is\n         NEVER recreated, replaced, or detached from the DOM.\n         ========================================================= -->\n    <div id=\"result-panel\" class=\"hidden\">\n      <div class=\"result\">\n        <span class=\"winner\">Recommended Theme<\/span>\n        <h2 id=\"result-theme-name\">\u2014<\/h2>\n        <p class=\"tagline\" id=\"result-tagline\">\u2014<\/p>\n\n        <div class=\"rationale\">\n          <strong><span id=\"result-theme-name-2\">\u2014<\/span> performance benchmarks:<\/strong><br>\n          Payback: <strong id=\"result-payback\">\u2014<\/strong> \u00b7\n          Annual maintenance: <strong id=\"result-maint\">\u2014<\/strong> \u00b7\n          Avg daily visitors (200 sqm): <strong id=\"result-visitors\">\u2014<\/strong>\n        <\/div>\n\n        <div class=\"scores\" id=\"result-scores\"><\/div>\n\n        <!-- Static popup trigger \u2014 bound by Blocksy on page init.\n             Only the inner theme-name span is updated by JS. -->\n        <a href=\"#ct-popup-800\" class=\"cta\" id=\"result-cta\">\n          Get a 24h Quote for <span id=\"result-cta-theme\">\u2014<\/span> Theme \u2192\n        <\/a>\n        <br>\n        <button class=\"restart\" id=\"result-restart\" type=\"button\">\u21ba Retake Quiz<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const QUESTIONS = [\n    {q: \"Where is your venue located?\", opts: [\n      {label: \"Coastal city or near water\", scores:{ocean:3,jungle:1,space:0,candy:0,pirate:2}},\n      {label: \"Tier-1 city \/ shopping mall\", scores:{candy:3,jungle:2,space:2,ocean:1,pirate:1}},\n      {label: \"Suburb \/ mid-size city\", scores:{jungle:3,candy:2,pirate:2,ocean:1,space:1}},\n      {label: \"Tech hub or near a science museum\", scores:{space:3,jungle:1,candy:1,ocean:1,pirate:0}}\n    ]},\n    {q: \"Primary venue type?\", opts: [\n      {label: \"FEC (family entertainment center)\", scores:{jungle:3,ocean:2,space:2,candy:2,pirate:2}},\n      {label: \"Shopping mall kids zone\", scores:{candy:3,jungle:2,ocean:2,space:1,pirate:1}},\n      {label: \"Kindergarten \/ early learning\", scores:{jungle:3,ocean:2,candy:1,space:1,pirate:0}},\n      {label: \"Hotel \/ restaurant kids corner\", scores:{jungle:3,ocean:1,candy:2,pirate:1,space:0}}\n    ]},\n    {q: \"Target age range?\", opts: [\n      {label: \"Toddlers (2\u20135)\", scores:{jungle:3,candy:2,ocean:2,pirate:1,space:1}},\n      {label: \"School age (5\u201312)\", scores:{jungle:2,space:3,pirate:2,ocean:2,candy:2}},\n      {label: \"Mixed (2\u201312)\", scores:{jungle:3,ocean:2,candy:2,pirate:2,space:2}}\n    ]},\n    {q: \"Equipment budget?\", opts: [\n      {label: \"Under $25K (small venue)\", scores:{jungle:3,candy:2,pirate:2,ocean:1,space:1}},\n      {label: \"$25K\u2013$80K (medium venue)\", scores:{jungle:3,ocean:2,candy:2,pirate:2,space:1}},\n      {label: \"$80K\u2013$200K (large venue)\", scores:{jungle:2,space:2,ocean:2,pirate:2,candy:2}},\n      {label: \"Over $200K (FEC scale)\", scores:{jungle:3,space:3,ocean:2,pirate:2,candy:1}}\n    ]},\n    {q: \"What matters most to your investors?\", opts: [\n      {label: \"Fastest payback period\", scores:{jungle:3,candy:2,pirate:1,ocean:1,space:0}},\n      {label: \"Lowest annual maintenance\", scores:{jungle:3,candy:2,pirate:1,ocean:1,space:0}},\n      {label: \"Highest premium ticket pricing\", scores:{space:3,jungle:1,ocean:1,pirate:1,candy:0}},\n      {label: \"Broadest age appeal\", scores:{jungle:3,ocean:2,candy:2,pirate:2,space:1}}\n    ]}\n  ];\n  const THEMES = {\n    jungle: {name:'Jungle', payback:'14\u201322 mo', maint:'3\u20135%', visitors:'120\u2013180\/day', tagline:'Universally appealing, lowest payback, broadest buyer pool. The structurally safest commercial bet for most venues.'},\n    ocean:  {name:'Ocean',  payback:'16\u201324 mo', maint:'4\u20136%', visitors:'110\u2013160\/day', tagline:'Ideal near coasts and aquariums where the theme connects with local identity.'},\n    space:  {name:'Space',  payback:'20\u201330 mo', maint:'5\u20138%', visitors:'90\u2013140\/day',  tagline:'Premium pricing leader; best for tech-hub or science-museum-adjacent venues.'},\n    candy:  {name:'Candy',  payback:'16\u201322 mo', maint:'3\u20135%', visitors:'100\u2013150\/day', tagline:'Strong fit for tier-1 city malls and dessert-chain partnerships.'},\n    pirate: {name:'Pirate', payback:'18\u201324 mo', maint:'4\u20136%', visitors:'100\u2013145\/day', tagline:'Plays best in port cities and cruise-terminal venues with maritime identity.'}\n  };\n\n  \/\/ ---- DOM refs (cached once; never re-queried after destruction) ----\n  const quizPanel    = document.getElementById('quiz-panel');\n  const resultPanel  = document.getElementById('result-panel');\n  const elProgress   = document.getElementById('quiz-progress');\n  const elQuestion   = document.getElementById('quiz-question');\n  const elOptions    = document.getElementById('quiz-options');\n  const elThemeName  = document.getElementById('result-theme-name');\n  const elThemeName2 = document.getElementById('result-theme-name-2');\n  const elTagline    = document.getElementById('result-tagline');\n  const elPayback    = document.getElementById('result-payback');\n  const elMaint      = document.getElementById('result-maint');\n  const elVisitors   = document.getElementById('result-visitors');\n  const elScores     = document.getElementById('result-scores');\n  const elCtaTheme   = document.getElementById('result-cta-theme');\n  const btnRestart   = document.getElementById('result-restart');\n\n  let step = 0;\n  let scores = {jungle:0, ocean:0, space:0, candy:0, pirate:0};\n\n  function renderQuestion(){\n    const Q = QUESTIONS[step];\n    elProgress.innerHTML = QUESTIONS.map((_,i)=>`<span class=\"${i<=step?'done':''}\"><\/span>`).join('');\n    elQuestion.textContent = (step+1) + '. ' + Q.q;\n    elOptions.innerHTML = Q.opts.map((o,i)=>`<div class=\"option\" data-idx=\"${i}\"><\/div>`).join('');\n    \/\/ Set option labels via textContent to avoid HTML-injection from data\n    const optionEls = elOptions.querySelectorAll('.option');\n    optionEls.forEach((el, i) => {\n      el.textContent = Q.opts[i].label;\n      el.addEventListener('click', () => {\n        Object.entries(Q.opts[i].scores).forEach(([k,v])=>{ scores[k]+=v; });\n        step++;\n        if (step >= QUESTIONS.length) showResult();\n        else renderQuestion();\n      });\n    });\n  }\n\n  function showResult(){\n    const sorted = Object.entries(scores).sort((a,b)=>b[1]-a[1]);\n    const winnerKey = sorted[0][0];\n    const maxScore  = sorted[0][1] || 1;\n    const T = THEMES[winnerKey];\n\n    \/\/ Update text content only \u2014 never replace the result panel itself\n    elThemeName.textContent  = T.name;\n    elThemeName2.textContent = T.name;\n    elTagline.textContent    = T.tagline;\n    elPayback.textContent    = T.payback;\n    elMaint.textContent      = T.maint;\n    elVisitors.textContent   = T.visitors;\n    elCtaTheme.textContent   = T.name;\n\n    \/\/ Score bars \u2014 this container has no popup-bound elements, safe to rebuild\n    elScores.innerHTML = sorted.map(([k,v],i)=>{\n      const pct = Math.round(v\/maxScore*100);\n      return `<div class=\"score-row ${i===0?'top':''}\">\n        <div class=\"name\">${THEMES[k].name}<\/div>\n        <div class=\"bar\"><div class=\"bar-fill\" style=\"width:${pct}%\"><\/div><\/div>\n        <div class=\"pct\">${pct}%<\/div>\n      <\/div>`;\n    }).join('');\n\n    \/\/ Toggle visibility \u2014 DOM elements stay mounted, link stays bound\n    quizPanel.classList.add('hidden');\n    resultPanel.classList.remove('hidden');\n  }\n\n  function restart(){\n    step = 0;\n    scores = {jungle:0, ocean:0, space:0, candy:0, pirate:0};\n    resultPanel.classList.add('hidden');\n    quizPanel.classList.remove('hidden');\n    renderQuestion();\n    \/\/ No location.reload() \u2014 that would also break Blocksy's already-bound link\n    \/\/ Wait, reload re-runs init so it would still work, but in-page restart is cleaner\n  }\n\n  btnRestart.addEventListener('click', restart);\n  renderQuestion();\n})();\n<\/script>\n<\/body>\n<\/html>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>5-Theme Decision Quiz: Which Theme Fits Your Venue? | Didi Land 5-Theme Decision Quiz Five questions. Two minutes. Get a data-driven recommendation across jungle, ocean, space, candy, and pirate themes \u2014 based on the Family Center Theme Performance Index (FCTPI). Recommended Theme \u2014 \u2014 \u2014 performance benchmarks: Payback: \u2014 \u00b7 Annual maintenance: \u2014 \u00b7 Avg [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1346,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1423","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/pages\/1423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/comments?post=1423"}],"version-history":[{"count":0,"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/pages\/1423\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/pages\/1346"}],"wp:attachment":[{"href":"https:\/\/didiplayarea.com\/pt\/wp-json\/wp\/v2\/media?parent=1423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}