{"product_id":"triviapod","title":"TriviaPOD","description":"\u003c!--\n  TriviaPOD product-detail content for a Shopify Custom liquid block.\n  This intentionally excludes the site navigation, reservation\/email form, and footer.\n  The interactive product renders use the original public TriviaPOD assets.\n--\u003e\n\u003cp\u003e\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e \u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\"\u003e \u003clink rel=\"preconnect\" href=\"https:\/\/triviapod.com\" crossorigin=\"\"\u003e \u003clink rel=\"preload\" as=\"style\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Jost:wght@300;400;500;600;700;800;900\u0026amp;display=swap\" onload=\"this.onload=null;this.rel='stylesheet'\"\u003e \u003clink rel=\"preload\" as=\"script\" href=\"https:\/\/triviapod.com\/assets\/models\/TriviaPod3D.gltf.js\"\u003e \u003cnoscript\u003e\u003clink rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Jost:wght@300;400;500;600;700;800;900\u0026amp;display=swap\"\u003e\u003c\/noscript\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n  .tp-pdp .tp-static-pod{display:block;width:100%;height:100%;object-fit:contain}\n  .tp-pdp{--tp-ink:#111;--tp-soft:#4a4a4a;--tp-blue:#1f74ba;--tp-font:\"Jost\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;color:var(--tp-ink);font-family:var(--tp-font);line-height:1.5;background:#fff;overflow:hidden}\n  .tp-pdp *{box-sizing:border-box}.tp-pdp img,.tp-pdp svg{display:block;max-width:100%}.tp-pdp .tp-container{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}\n  .tp-pdp .tp-dark{color:#f1f1f1;background-color:#000;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:5px 5px}\n  .tp-pdp .tp-hero{min-height:min(820px,100dvh);padding:32px 0 40px;text-align:center;display:flex;flex-direction:column}.tp-pdp .tp-eyebrow{color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px}.tp-pdp .tp-logo{width:min(clamp(110px,19vw,230px),22vh);height:auto;margin:0 auto}.tp-pdp .tp-viewer-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:280px}.tp-pdp .tp-viewer{width:min(86vmin,680px);height:min(86vmin,680px);position:relative;cursor:grab;touch-action:none}.tp-pdp .tp-viewer:active,.tp-pdp .tp-pod:active{cursor:grabbing}.tp-pdp canvas{display:block;width:100%!important;height:100%!important}.tp-pdp .tp-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.tp-pdp .tp-hint{position:absolute;bottom:4px;width:100%;color:rgba(255,255,255,.45);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.tp-pdp .tp-lead{max-width:640px;margin:0 auto 26px;color:rgba(255,255,255,.72);font-size:clamp(1.05rem,1.3vw,1.2rem)}\n  .tp-pdp section{padding:70px 0}.tp-pdp h2{font-size:clamp(2.2rem,4.8vw,3.6rem);font-weight:800;line-height:1.04;letter-spacing:-.02em;margin:0 0 20px}.tp-pdp p{margin:0}.tp-pdp .tp-feature{background:#fff}.tp-pdp .tp-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.tp-pdp .tp-copy{font-size:1.05rem;color:var(--tp-soft);max-width:520px}.tp-pdp .tp-pod{width:min(70vmin,540px);aspect-ratio:1;position:relative;cursor:grab;touch-action:none}.tp-pdp .tp-feature-pod{margin:auto}.tp-pdp .tp-story .tp-copy{color:rgba(255,255,255,.72)}.tp-pdp .tp-story h2{color:#fff}\n  .tp-pdp .tp-together{text-align:center}.tp-pdp .tp-together .tp-copy{margin:0 auto 45px}.tp-pdp .tp-pod-row{display:grid;grid-template-columns:1fr minmax(100px,180px) 1fr;gap:18px;align-items:center;max-width:980px;margin:auto}.tp-pdp .tp-small-pod{width:100%;max-width:360px;aspect-ratio:1;margin:auto;position:relative;cursor:grab;touch-action:none}.tp-pdp .tp-link{display:flex;align-items:center;gap:10px;color:#0082fc}.tp-pdp .tp-link:before,.tp-pdp .tp-link:after{content:\"\";height:0;border-top:3px dotted #111;flex:1}.tp-pdp .tp-link svg{width:56px;height:56px;flex:0 0 56px}\n  .tp-pdp .tp-specs{background:#000;color:#fff;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:5px 5px}.tp-pdp .tp-specs-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:50px;align-items:center}.tp-pdp .tp-spec-pod{width:100%;max-width:430px;aspect-ratio:1;margin:auto;position:relative;cursor:grab;touch-action:none;background:#000;border-radius:24px}.tp-pdp .tp-specs h2{color:#fff}.tp-pdp .tp-spec-table-wrap{overflow-x:auto;border:1px solid #dedede;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}.tp-pdp .tp-spec-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.94rem}.tp-pdp .tp-spec-table th,.tp-pdp .tp-spec-table td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid #e8e8e8}.tp-pdp .tp-spec-table thead th{background:#f4f7fa;color:#4a4a4a;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.tp-pdp .tp-spec-table th:first-child,.tp-pdp .tp-spec-table td:first-child{width:31%;font-weight:700;color:#111}.tp-pdp .tp-spec-table td:last-child{color:#4a4a4a;line-height:1.55}.tp-pdp .tp-spec-table tbody tr{transition:background-color .16s ease,box-shadow .16s ease}.tp-pdp .tp-spec-table tbody tr:hover,.tp-pdp .tp-spec-table tbody tr:focus{background:#eef7ff;box-shadow:inset 4px 0 #1f74ba;outline:none}.tp-pdp .tp-spec-table tbody tr:last-child td{border-bottom:0}.tp-pdp .tp-spec-table tbody tr:focus-visible{box-shadow:inset 4px 0 #1f74ba,0 0 0 2px #1f74ba}.tp-pdp .tp-spec-values{display:flex;flex-wrap:wrap;gap:5px 9px}.tp-pdp .tp-spec-values span{display:inline-block}.tp-pdp .tp-spec-values span+span:before{content:'•';color:#a0a0a0;margin-right:9px}\n  .tp-pdp .tp-price{text-align:center;background:#fff}.tp-pdp .tp-price h2{font-size:clamp(2.4rem,5.4vw,4rem)}.tp-pdp .tp-price p{color:var(--tp-soft)}.tp-pdp .tp-price .tp-price-amount{margin:22px 0 4px;color:var(--tp-ink);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1}.tp-pdp .tp-price .tp-fine{font-size:.85rem;color:#888}.tp-pdp .tp-price .tp-shipping{margin-top:24px;font-size:.95rem}\n  .tp-pdp .tp-hidden-quiz{display:none}.tp-pdp .tp-screen-question{font-family:var(--tp-font)}\n  .tp-pdp section:not(.tp-hero){content-visibility:auto;contain-intrinsic-size:650px}.tp-pdp .tp-pod{contain:layout paint}\n  .tp-pdp .tp-activate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.72);color:#fff;padding:11px 18px;font:600 .78rem var(--tp-font);letter-spacing:.04em;cursor:pointer;white-space:nowrap}.tp-pdp .tp-activate:hover{background:#000}\n  \/* Shopify product descriptions are typically narrow. Use the original site's\n     phone reading order at every viewport width, rather than a two-column PDP. *\/\n  .tp-pdp .tp-container{max-width:680px;padding:0 20px}.tp-pdp section{padding:52px 0}.tp-pdp .tp-hero{min-height:640px;padding:28px 0 34px}.tp-pdp .tp-eyebrow{margin-bottom:14px}.tp-pdp .tp-logo{width:150px}.tp-pdp .tp-viewer-wrap{min-height:300px}.tp-pdp .tp-viewer{width:min(92vw,420px);height:min(92vw,420px)}.tp-pdp .tp-lead{font-size:1.02rem;margin-bottom:0}.tp-pdp .tp-split,.tp-pdp .tp-specs-layout{grid-template-columns:1fr;gap:30px}.tp-pdp .tp-copy{text-align:center;margin-left:auto;margin-right:auto;font-size:1rem}.tp-pdp .tp-feature-pod,.tp-pdp .tp-spec-pod{width:min(92vw,380px)}.tp-pdp .tp-story h2,.tp-pdp .tp-story .tp-copy,.tp-pdp .tp-feature h2{text-align:center}.tp-pdp .tp-pod-row{grid-template-columns:1fr;gap:20px}.tp-pdp .tp-small-pod{max-width:min(82vw,320px)}.tp-pdp .tp-link{max-width:200px;margin:auto}.tp-pdp .tp-specs h2{text-align:center}.tp-pdp .tp-spec-grid{grid-template-columns:1fr;gap:25px}.tp-pdp .tp-spec{text-align:center}.tp-pdp .tp-price h2{font-size:clamp(2.25rem,10vw,3.2rem)}\n  .tp-pdp #tp-hero-pod{pointer-events:none;cursor:default}.tp-pdp #tp-hero-pod .tp-hint{display:none}\n  @media(max-width:820px){.tp-pdp section{padding:55px 0}.tp-pdp .tp-split,.tp-pdp .tp-specs-layout{grid-template-columns:1fr;gap:34px}.tp-pdp .tp-feature .tp-pod{order:2}.tp-pdp .tp-copy{text-align:center;margin-left:auto;margin-right:auto}.tp-pdp .tp-pod-row{grid-template-columns:minmax(0,1fr) minmax(44px,64px) minmax(0,1fr)!important;gap:8px;align-items:center!important}.tp-pdp .tp-small-pod{max-width:150px;width:100%}.tp-pdp .tp-link{max-width:none;width:100%;margin:auto;gap:3px}.tp-pdp .tp-link svg{width:34px;height:34px;flex-basis:34px}.tp-pdp .tp-specs h2{text-align:center}.tp-pdp .tp-spec-table th,.tp-pdp .tp-spec-table td{padding:13px 12px;font-size:.88rem}.tp-pdp .tp-spec-table th:first-child,.tp-pdp .tp-spec-table td:first-child{width:34%}.tp-pdp .tp-hero{min-height:680px}}\n  @media(max-width:480px){.tp-pdp .tp-container{padding:0 20px}.tp-pdp .tp-spec-table{font-size:.84rem}.tp-pdp .tp-spec-table th,.tp-pdp .tp-spec-table td{padding:12px 10px}.tp-pdp .tp-viewer{width:min(92vw,360px);height:min(92vw,360px)}}\n  \/* Keep the two Play Together viewers side by side in Shopify's narrow description container. *\/\n  .tp-pdp .tp-pod-row{grid-template-columns:minmax(0,1fr) minmax(44px,64px) minmax(0,1fr)!important;gap:8px!important;align-items:center!important}\n  .tp-pdp .tp-pod-row .tp-small-pod{width:100%;max-width:150px!important}\n  .tp-pdp .tp-pod-row .tp-link{width:100%;max-width:none!important;margin:auto;gap:3px}\n  .tp-pdp .tp-pod-row .tp-link svg{width:34px;height:34px;flex:0 0 34px}\n  .tp-pdp .tp-spec-table-wrap{background:#fff!important;background-color:#fff!important;color:#111!important;padding:14px;min-height:100%;border-radius:16px}\n  .tp-pdp .tp-specs-layout\u003e.tp-spec-table-wrap{background:#fff!important;background-color:#fff!important}\n  .tp-pdp .tp-specs-layout\u003e.tp-spec-table-wrap{align-self:stretch;width:100%}\n  .tp-pdp .tp-spec-table-wrap{position:relative;left:50%;width:100vw!important;transform:translateX(-50%);border-radius:0!important;border-left:0;border-right:0;box-shadow:none;padding:24px 14px}\n  .tp-pdp .tp-spec-table{max-width:680px;margin:0 auto}\n  .tp-pdp .tp-spec-table-section{background:transparent;padding-bottom:12px!important}\n  .tp-pdp .tp-spec-table-section .tp-spec-table-wrap{background:transparent!important;border:0;box-shadow:none;padding:0;left:auto;width:100%!important;transform:none}\n  .tp-pdp .tp-spec-table-section .tp-spec-table thead th{background:transparent}\n  .tp-pdp .tp-spec-table .tp-spec-main{color:#4a4a4a}.tp-pdp .tp-spec-table .tp-spec-extra{display:block;margin-top:5px;color:#777;font-size:.9em}.tp-pdp .tp-spec-table tbody tr{transition:background-color .16s ease,box-shadow .16s ease}.tp-pdp .tp-spec-table tbody tr:hover{background:#f6faff;box-shadow:inset 3px 0 #1f74ba}\n  .tp-pdp #tp-hero-pod{pointer-events:auto;cursor:grab}\n  .tp-pdp .tp-play-together-media{width:100%;max-width:1180px;margin:26px auto 0;line-height:0}\n  .tp-pdp .tp-play-together-media img{display:block;width:100%;height:auto;aspect-ratio:1950\/850;object-fit:contain}\n  .tp-pdp .tp-spec-table-section .tp-container{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}\n  .tp-pdp .tp-spec-table-section .tp-spec-table-wrap{width:100%!important;max-width:none!important;left:auto!important;transform:none!important}\n  .tp-pdp .tp-spec-table tbody tr:last-child th,.tp-pdp .tp-spec-table tbody tr:last-child td{border-bottom:1px solid #e8e8e8!important}\n  .tp-pdp .tp-logo{filter:invert(1)!important;opacity:1!important}\n  .tp-pdp .tp-documents-link{padding:0 0 56px;background:#fff;text-align:right}.tp-pdp .tp-documents-link a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid #111;border-radius:999px;background:#111;color:#fff!important;font:700 .82rem var(--tp-font);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .16s ease,background-color .16s ease}.tp-pdp .tp-documents-link a:hover{background:#1f74ba;border-color:#1f74ba;transform:translateY(-2px)}.tp-pdp .tp-documents-link a:focus-visible{outline:3px solid #1f74ba;outline-offset:3px}@media(max-width:480px){.tp-pdp .tp-documents-link{text-align:center}}\n  .tp-pdp .tp-box-contents{padding:12px 0 52px;background:#fff}.tp-pdp .tp-box-contents h2{font-size:clamp(1.8rem,7vw,2.5rem);margin-bottom:20px}.tp-pdp .tp-box-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tp-pdp .tp-box-item{min-width:0;border:1px solid #dedede;border-radius:16px;padding:20px 12px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:#fff}.tp-pdp .tp-box-item img{display:block;width:auto;height:96px;max-width:100%;object-fit:contain;margin:0 auto 12px}.tp-pdp .tp-box-item span{font-size:.88rem;font-weight:600;line-height:1.3}@media(max-width:420px){.tp-pdp .tp-box-list{grid-template-columns:1fr}.tp-pdp .tp-box-item{flex-direction:row;justify-content:flex-start;gap:14px;padding:14px 16px;text-align:left}.tp-pdp .tp-box-item img{height:60px;margin:0;flex:0 0 auto}}\n\u003c\/style\u003e\n\u003cdiv class=\"tp-pdp\" id=\"triviapod-product-content\"\u003e\n\u003csection class=\"tp-hero tp-dark\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003cdiv class=\"tp-eyebrow\"\u003eHello from Etermax\u003c\/div\u003e\n\u003cimg class=\"tp-logo\" src=\"https:\/\/triviapod.com\/assets\/vectors\/TriviaPodLogoNoFace.svg\" alt=\"TriviaPOD\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tp-viewer-wrap\"\u003e\n\u003cdiv class=\"tp-viewer\" id=\"tp-hero-pod\"\u003e\n\u003cdiv class=\"tp-loading\"\u003eLoading model…\u003c\/div\u003e\n\u003cdiv class=\"tp-hint\"\u003eAuto rotating\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003cp class=\"tp-lead\"\u003eA tiny trivia machine built for real family play. No phone. No ads. No endless scrolling. Just grab it, spin it, and answer.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-feature\"\u003e\n\u003cdiv class=\"tp-container tp-split\"\u003e\n\u003cdiv class=\"tp-pod tp-feature-pod\" id=\"tp-questions-pod\"\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch2\u003e10,000+ questions in your pocket\u003c\/h2\u003e\n\u003cp class=\"tp-copy\"\u003eTriviaPOD comes loaded with over 10,000 trivia questions across 8 languages — ready to play straight out of the box. Connect to Wi‑Fi to download new packs and keep the trivia going.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-story tp-dark\"\u003e\n\u003cdiv class=\"tp-container tp-split\"\u003e\n\u003cdiv\u003e\n\u003ch2\u003eYour Pod, your crew.\u003c\/h2\u003e\n\u003cp class=\"tp-copy\"\u003eMeet familiar faces from the Trivia Crack universe. Play Trivia Pet to help Willy grow, unlock rewards, and collect characters as your Pod fills with life. 7 characters to discover. One crew to complete.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tp-pod tp-feature-pod\" id=\"tp-characters-pod\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-together\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003ch2\u003ePlay Together\u003c\/h2\u003e\n\u003cp class=\"tp-copy\"\u003eConnect two TriviaPOD devices\u003cbr\u003eand challenge other players\u003c\/p\u003e\n\u003cdiv class=\"tp-play-together-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0056\/7689\/2250\/files\/triviapod-play-together-shopify.png?v=1788258275\" alt=\"\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-specs\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003ch2\u003eThe Specs.\u003c\/h2\u003e\n\u003cdiv class=\"tp-specs-layout\"\u003e\n\u003cdiv class=\"tp-spec-pod\" id=\"tp-specs-pod\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-spec-table-section\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003cdiv class=\"tp-spec-table-wrap\"\u003e\n\u003ctable class=\"tp-spec-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth scope=\"col\"\u003eCategory\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eSpecifications\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eDisplay\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003e1.75\" round display · 466 × 466 px AMOLED\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eSuper bright · Touch screen\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eControls\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eTwo main side buttons\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eDedicated power button\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003e32 MB flash\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eRoom for downloadable trivia packs\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eWireless\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eWi‑Fi 2.4 GHz\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eBluetooth \/ BLE\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpeaker\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eSmall speaker\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eSimple sounds for play feedback\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharging\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eUSB‑C charging cable\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eCable included\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eBattery\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003e450mAh\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-main\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eLanguages\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003e8 languages included(more to come)\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eEN · ES · FR · DE · IT · PT\u003cmeta charset=\"utf-8\"\u003e· ZH\u003cmeta charset=\"utf-8\"\u003e· JA\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eIncluded\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eTriviaPOD device · Wrist lanyard\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eUSB‑C cable* · Quick Start guide*\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eRecommended age\u003c\/th\u003e\n\u003ctd\u003e\n\u003cdiv class=\"tp-spec-main\"\u003eFrom 8 to 99+\u003c\/div\u003e\n\u003cdiv class=\"tp-spec-extra\"\u003eFun for the whole family\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"tp-box-contents\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\n\u003ch2\u003eWhat’s in the box\u003c\/h2\u003e\n\u003cdiv class=\"tp-box-list\"\u003e\n\u003cdiv class=\"tp-box-item\"\u003e\n\u003cimg src=\"https:\/\/triviapod.com\/assets\/images\/TriviaPod.png\" alt=\"TriviaPOD device\" loading=\"lazy\" decoding=\"async\"\u003e\u003cspan\u003eYour TriviaPOD device\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tp-box-item\"\u003e\n\u003cimg src=\"https:\/\/triviapod.com\/assets\/images\/usb_cable_1024.png\" alt=\"USB-C charging cable\" loading=\"lazy\" decoding=\"async\"\u003e\u003cspan\u003eUSB-C charging cable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tp-box-item\"\u003e\n\u003cimg src=\"https:\/\/triviapod.com\/assets\/images\/wrist_lanyard_clean_transparent.png\" alt=\"Wrist lanyard\" loading=\"lazy\" decoding=\"async\"\u003e\u003cspan\u003eWrist lanyard\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- Required by the original product-render script; it remains invisible. --\u003e\n\u003csection class=\"tp-documents-link\"\u003e\n\u003cdiv class=\"tp-container\"\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/TP-01-A\" rel=\"noopener\" id=\"learn-and-documents-btn\" target=\"_blank\"\u003e→ Documents\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- Required by the original product-render script; it remains invisible. --\u003e\n\u003cdiv class=\"tp-hidden-quiz\"\u003e\n\u003cdiv class=\"screen-question show\" id=\"screen-question\"\u003e\n\u003cdiv class=\"q-banner\" id=\"q-banner\"\u003eWell done!\u003c\/div\u003e\n\u003ch3 class=\"q-question\" id=\"q-question\"\u003eWhat color is the Eiffel Tower painted?\u003c\/h3\u003e\n\u003cdiv class=\"q-answers\" id=\"q-answers\"\u003e\n\u003cbutton class=\"q-answer\" type=\"button\"\u003eRed\u003c\/button\u003e\u003cbutton class=\"q-answer\" type=\"button\"\u003eBlack\u003c\/button\u003e\u003cbutton class=\"q-answer correct\" type=\"button\"\u003eBrown\u003c\/button\u003e\u003cbutton class=\"q-answer\" type=\"button\"\u003eGray\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"q-category\" id=\"q-category\"\u003eEntertainment\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"screen-question show\" id=\"screen-question-pt2\"\u003e\n\u003cdiv class=\"q-banner\" id=\"q-banner-pt2\"\u003eWrong!\u003c\/div\u003e\n\u003ch3 class=\"q-question\" id=\"q-question-pt2\"\u003eWhat color is the Eiffel Tower painted?\u003c\/h3\u003e\n\u003cdiv class=\"q-answers\" id=\"q-answers-pt2\"\u003e\n\u003cbutton class=\"q-answer\" type=\"button\"\u003eRed\u003c\/button\u003e\u003cbutton class=\"q-answer\" type=\"button\"\u003eBlack\u003c\/button\u003e\u003cbutton class=\"q-answer correct\" type=\"button\"\u003eBrown\u003c\/button\u003e\u003cbutton class=\"q-answer wrong\" type=\"button\"\u003eGray\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"q-category\" id=\"q-category-pt2\"\u003eEntertainment\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"screen-question\" id=\"screen-question-2\"\u003e\n\u003cdiv class=\"q-banner show\" id=\"q-banner-2\"\u003eWell done!\u003c\/div\u003e\n\u003ch3 class=\"q-question\" id=\"q-question-2\"\u003eHow many planets are in our solar system?\u003c\/h3\u003e\n\u003cdiv class=\"q-answers\" id=\"q-answers-2\"\u003e\n\u003cbutton class=\"q-answer\" type=\"button\"\u003e7\u003c\/button\u003e\u003cbutton class=\"q-answer correct\" type=\"button\"\u003e8\u003c\/button\u003e\u003cbutton class=\"q-answer\" type=\"button\"\u003e9\u003c\/button\u003e\u003cbutton class=\"q-answer\" type=\"button\"\u003e10\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"q-category\" id=\"q-category-2\"\u003eScience\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Original external 3D renderer with per-viewer low-overhead scheduling. --\u003e\n\u003cp\u003e\u003clink rel=\"preload\" as=\"script\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/build\/three.min.js\"\u003e \u003clink rel=\"preload\" as=\"script\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/examples\/js\/loaders\/GLTFLoader.js\"\u003e \u003cscript\u003e\n  (function () {\n    var sources = [\n      'https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/build\/three.min.js',\n      'https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/examples\/js\/loaders\/GLTFLoader.js',\n      'https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/examples\/js\/controls\/TrackballControls.js',\n      'https:\/\/cdn.jsdelivr.net\/npm\/three@0.137.0\/examples\/js\/environments\/RoomEnvironment.js',\n      'https:\/\/triviapod.com\/assets\/models\/TriviaPod3D.gltf.js',\n      'https:\/\/triviapod.com\/assets\/models\/TriviaPodScene1.svg.js',\n      'https:\/\/triviapod.com\/assets\/scripts\/pod.js'\n    ];\n    var controllers = Object.create(null);\n    var started = false;\n    function installQuizWheelBridge() {\n      if (window.__tpQuizWheelBridge) return;\n      window.__tpQuizWheelBridge = true;\n      window.__triviaWheelDeg = 0;\n      window.__triviaWheelDeg2 = 0;\n      function sync(el) {\n        var transform = el \u0026\u0026 el.style ? el.style.transform : '';\n        var match = \/rotate\\(\\s*(-?[\\d.]+)deg\/i.exec(transform || '');\n        if (!match) return;\n        var angle = Number(match[1]);\n        if (!isFinite(angle)) return;\n        if (el.classList.contains('wheel-2d-2')) window.__triviaWheelDeg2 = angle;\n        else if (el.classList.contains('wheel-2d')) window.__triviaWheelDeg = angle;\n      }\n      function scan() { document.querySelectorAll('.wheel-2d,.wheel-2d-2').forEach(sync); }\n      scan();\n      new MutationObserver(function(mutations) {\n        mutations.forEach(function(mutation) {\n          if (mutation.type === 'attributes') {\n            sync(mutation.target);\n          } else {\n            for (var i = 0; i \u003c mutation.addedNodes.length; i++) {\n              var node = mutation.addedNodes[i];\n              if (node.nodeType !== 1) continue;\n              if (node.matches \u0026\u0026 node.matches('.wheel-2d,.wheel-2d-2')) sync(node);\n              if (node.querySelectorAll) node.querySelectorAll('.wheel-2d,.wheel-2d-2').forEach(sync);\n            }\n          }\n        });\n      }).observe(document.documentElement, {subtree:true, attributes:true, childList:true, attributeFilter:['style','class']});\n    }\n    var configs = {\n      'tp-hero-pod': {spinAxis:'diagonal',spinRate:.28,screen:'wheel',screenSpinRpm:2,screenSizePct:.84,screenOffset:.01,interact:'trackball'},\n      'tp-questions-pod': {idleMotion:'none',spinAxis:'none',spinRate:0,interact:'none',screen:'animation2-alt',screenSizePct:.84,screenOffset:.01,static:true},\n      'tp-characters-pod': {idleMotion:'none',spinAxis:'none',spinRate:0,interact:'none',screen:window.SCENE1_SVG?{layers:[{svg:window.SCENE1_SVG,spinRpm:0}]}:'wheel',screenSizePct:.84,screenOffset:.01,static:true},\n      'tp-specs-pod': {idleMotion:'none',spinAxis:'none',spinRate:0,interact:'none',screen:'amoled',screenSizePct:.78,screenOffset:.01,modelScale:2.08,static:true}\n    };\n    function makeViewerScheduler(el) {\n      var nativeFrame = window.requestAnimationFrame;\n      var isPairViewer = \/tp-play-pod-[ab]\/.test(el.id);\n      var normalDelay = isPairViewer ? 108 : (\/Windows NT\/i.test(navigator.userAgent) ? 78 : 66);\n      function schedule(callback) {\n        var rect = el.getBoundingClientRect();\n        var farAway = rect.bottom \u003c -120 || rect.top \u003e window.innerHeight + 120;\n        var delay = document.visibilityState === 'hidden' ? 900 : farAway ? 360 : window.__tpPageScrolling ? (isPairViewer ? 220 : 160) : normalDelay;\n        return window.setTimeout(function () {\n          var activeFrame = window.requestAnimationFrame;\n          window.requestAnimationFrame = schedule;\n          try { callback(performance.now()); }\n          finally { window.requestAnimationFrame = activeFrame || nativeFrame; }\n        }, delay);\n      }\n      return schedule;\n    }\n    function makeStaticTimer() {\n      var nativeTimer = window.setTimeout;\n      function schedule(callback, delay) {\n        if (typeof callback !== 'function' || callback.name !== 'tick') return nativeTimer(callback, delay);\n        return nativeTimer(function() {\n          var activeTimer = window.setTimeout;\n          window.setTimeout = schedule;\n          try { callback(); }\n          finally { window.setTimeout = activeTimer || nativeTimer; }\n        }, Math.max(1100, Number(delay) || 0));\n      }\n      return schedule;\n    }\n    function freezeStaticViewer(el, controller) {\n      var attempts = 0;\n      function snapshot() {\n        attempts += 1;\n        var canvas = el.querySelector('canvas');\n        if (!canvas || !canvas.width) { if (attempts \u003c 10) window.setTimeout(snapshot, 1200); return; }\n        try {\n          var sample = document.createElement('canvas');\n          sample.width = sample.height = 24;\n          var sampleContext = sample.getContext('2d');\n          sampleContext.drawImage(canvas, 0, 0, 24, 24);\n          var pixels = sampleContext.getImageData(0, 0, 24, 24).data;\n          var brightness = 0;\n          for (var index = 0; index \u003c pixels.length; index += 4) brightness += pixels[index] + pixels[index + 1] + pixels[index + 2];\n          if (brightness \u003c 900 \u0026\u0026 attempts \u003c 10) { window.setTimeout(snapshot, 1200); return; }\n          var image = new Image();\n          image.className = 'tp-static-pod';\n          image.alt = 'TriviaPOD';\n          image.onload = function() {\n            controller.destroy();\n            el.replaceChildren(image);\n          };\n          image.src = canvas.toDataURL('image\/png');\n        } catch (error) {\n          \/\/ A restrictive Shopify canvas policy keeps the exact static 3D view at a low refresh rate.\n        }\n      }\n      window.setTimeout(snapshot, 4200);\n    }\n    function mount(id) {\n      var el=document.getElementById(id);\n      if (!el || controllers[id] || !window.TriviaPod) return;\n      el.replaceChildren();\n      var options=configs[id];\n      if (id==='tp-characters-pod' \u0026\u0026 window.SCENE1_SVG) options=Object.assign({},options,{screen:{layers:[{svg:window.SCENE1_SVG,spinRpm:0}]}});\n      var nativeFrame = window.requestAnimationFrame;\n      var nativeTimer = window.setTimeout;\n      window.requestAnimationFrame = makeViewerScheduler(el);\n      if (options.static) window.setTimeout = makeStaticTimer();\n      try { controllers[id]=window.TriviaPod.mount(el,options); }\n      finally { window.requestAnimationFrame = nativeFrame; window.setTimeout = nativeTimer; }\n    }\n    function installSafeRenderCap() {\n      if (!window.THREE || !THREE.WebGLRenderer || THREE.__tpSafeRenderCap) return;\n      THREE.__tpSafeRenderCap = true;\n      var proto = THREE.WebGLRenderer.prototype;\n      var originalSetPixelRatio = proto.setPixelRatio;\n      proto.setPixelRatio = function(value) {\n        var cap = \/Windows NT\/i.test(navigator.userAgent) ? .6 : .7;\n        return originalSetPixelRatio.call(this, Math.min(Number(value) || 1, cap));\n      };\n      var originalRender = proto.render;\n      var minimumFrameMs = \/Windows NT\/i.test(navigator.userAgent) ? 74 : 62;\n      proto.render = function() {\n        var rect = this.domElement.getBoundingClientRect();\n        if (document.visibilityState === 'hidden' || rect.bottom \u003c -100 || rect.top \u003e window.innerHeight + 100) return;\n        var now = performance.now();\n        var interval = window.__tpPageScrolling ? minimumFrameMs * 2 : minimumFrameMs;\n        if (this.__tpLastRender \u0026\u0026 now - this.__tpLastRender \u003c interval) return;\n        this.__tpLastRender = now;\n        return originalRender.apply(this, arguments);\n      };\n      var scrollTimer;\n      window.__tpPageScrolling = false;\n      window.addEventListener('scroll', function() {\n        window.__tpPageScrolling = true;\n        clearTimeout(scrollTimer);\n        scrollTimer = setTimeout(function(){ window.__tpPageScrolling = false; }, 160);\n      }, {passive:true});\n    }\n    function start() {\n      if (started || !window.TriviaPod) return;\n      started = true;\n      mount('tp-hero-pod');\n      var targets=Object.keys(configs).map(function(id){return document.getElementById(id)});\n      if (!('IntersectionObserver' in window)) { targets.forEach(function(el){if(el) mount(el.id)}); return; }\n      var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting \u0026\u0026 entry.intersectionRatio\u003e.08){mount(entry.target.id);observer.unobserve(entry.target);}})},{rootMargin:'0px',threshold:.08});\n      targets.forEach(function(el){if(el) observer.observe(el)});\n    }\n    function loadNext(index) {\n      if (index \u003e= sources.length) { start(); return; }\n      var script = document.createElement('script');\n      script.src = sources[index];\n      script.async = false;\n      script.onload = function(){\n        if (index \u003e= sources.length - 1) installSafeRenderCap();\n        loadNext(index + 1);\n      };\n      script.onerror = function(){ loadNext(index + 1); };\n      document.head.appendChild(script);\n    }\n    function beginLoading() { if (window.TriviaPod) start(); else loadNext(0); }\n    window.setTimeout(beginLoading, 0);\n  })();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"M5Stack-Store","offers":[{"title":"Default Title","offer_id":50220086853889,"sku":"TP-01-A","price":39.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0056\/7689\/2250\/files\/TP-01-A_TriviaPOD_7.webp?v=1789725462","url":"https:\/\/shop.m5stack.com\/products\/triviapod","provider":"M5Stack-Store","version":"1.0","type":"link"}