{"product_id":"undaunted-2200-revolution","title":"Undaunted 2200 Revolution","description":"\u003c!-- =====================================================\n     UNDAUNTED 2200: REVOLUTION — BLOCK 1\n     FroGames | Shopify Theme Concept\n     ===================================================== --\u003e\n\u003cdiv class=\"u22r1-wrap\"\u003e\n\u003c!-- COVER --\u003e\n\u003cdiv class=\"u22r1-cover\"\u003e\n\u003cimg loading=\"eager\" class=\"u22r1-cover-img\" alt=\"Undaunted 2200 Revolution sci-fi deck-building board game for 2-4 players - official Osprey Games cover\" src=\"https:\/\/cf.geekdo-images.com\/DhUH44hVIV5lT__UXe6tqQ__itemrep\/img\/6c4PgLR42CpkAgFawyionxLaJZU=\/fit-in\/246x300\/filters:strip_icc()\/pic9497709.jpg\"\u003e\n\u003cdiv class=\"u22r1-cover-fade\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"u22r1-cover-content\"\u003e\n\u003cp class=\"u22r1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\u003cp class=\"u22r1-sub\"\u003eThe revolution won't wait. Mechs are ready, factions are deploying, the Solar System hangs in the balance.\u003c\/p\u003e\n\u003cdiv class=\"u22r1-chips\"\u003e\n\u003cspan class=\"u22r1-chip u22r1-chip--accent\"\u003eBranching Campaign\u003c\/span\u003e \u003cspan class=\"u22r1-chip\"\u003eOsprey Games\u003c\/span\u003e \u003cspan class=\"u22r1-chip\"\u003eAir + Ground Combat\u003c\/span\u003e \u003cspan class=\"u22r1-chip\"\u003eEnglish Edition\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- SPECS --\u003e\n\u003cdiv class=\"u22r1-specs-bar\"\u003e\n\u003cdiv class=\"u22r1-specs\"\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e👥\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003ePlayers\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003e2 – 4\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e⏱️\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003eDuration\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003e45–60 min\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e🎂\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003eAge\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003e14+ years\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e🎲\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003eMechanic\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003eDeck Building\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e🗺️\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003eCampaign\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003eBranching\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-spec\"\u003e\n\u003cspan class=\"u22r1-spec-icon\"\u003e🚀\u003c\/span\u003e \u003cspan class=\"u22r1-spec-label\"\u003eCombat\u003c\/span\u003e \u003cspan class=\"u22r1-spec-val\"\u003eGround + Air\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BODY --\u003e\n\u003cdiv class=\"u22r1-body\"\u003e\n\u003c!-- INTRO + EDITORIAL BOXES --\u003e\n\u003cdiv class=\"u22r1-intro-grid\"\u003e\n\u003cdiv class=\"u22r1-intro-text\"\u003e\n\u003cp class=\"u22r1-label\"\u003eWhat it's about\u003c\/p\u003e\n\u003ch3 class=\"u22r1-h3\"\u003eThe war for the Solar System in a tactical deck-building campaign\u003c\/h3\u003e\n\u003cp class=\"u22r1-p\"\u003e2205 CE. The asteroid belt is just the beginning. For five years the conflict between the Lunar Frontier Authority and the Breaker rebel movement has devastated peace in the solar system. Now the war has spread to Mars, the Moon and Earth — and you choose which side to join.\u003c\/p\u003e\n\u003cp class=\"u22r1-p\"\u003eUndaunted 2200: Revolution is a tactical deck-building game by \u003cstrong\u003eTrevor Benjamin and David Thompson\u003c\/strong\u003e, with illustrations by Roland MacDonald. Each game is a scenario in a larger campaign: the decisions you make in today's session change tomorrow's battlefield.\u003c\/p\u003e\n\u003cp class=\"u22r1-p\"\u003eCombat blends ground-based mechs with space-based aircraft — two layers of gameplay that influence each other. Terrain changes line of sight and maneuverability. Dice decide fire, but it's the cards you build turn by turn that decide the war.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-intro-side\"\u003e\n\u003cp class=\"u22r1-quote-header\"\u003eFrom the game experience\u003c\/p\u003e\n\u003cdiv class=\"u22r1-quote-solo\"\u003e\n\u003cspan class=\"u22r1-qs-icon\"\u003e⚔️\u003c\/span\u003e\n\u003cp class=\"u22r1-qs-text\"\u003eRevolution's branching campaign condenses the epic scale of Stalingrad into three or four 45-minute sessions — every choice leaves its mark on the next game.\u003c\/p\u003e\n\u003cp class=\"u22r1-qs-note\"\u003eRevolution's secret in a nutshell\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-quote-solo u22r1-quote-solo--alt\"\u003e\n\u003cspan class=\"u22r1-qs-icon\"\u003e🚀\u003c\/span\u003e\n\u003cp class=\"u22r1-qs-text\"\u003eNo other deck-builder combines aerial dogfighting and mech combat in the same scenario — two play styles that alternate on the table like frontiers of the same war.\u003c\/p\u003e\n\u003cp class=\"u22r1-qs-note\"\u003eFrom the game experience\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- FROGSCORE --\u003e\n\u003cdiv class=\"u22r1-fs\"\u003e\n\u003cdiv class=\"u22r1-fs-header\"\u003e\n\u003cdiv class=\"u22r1-fs-brand\"\u003e\n\u003cimg class=\"u22r1-fs-frog-img\" alt=\"FroGames\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"u22r1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n\u003cp class=\"u22r1-fs-game-name\"\u003eUndaunted 2200: Revolution\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan style=\"background: #eaf3de; border-color: #80b050; color: #2a5010;\" class=\"u22r1-fs-cat\"\u003eStrategy · Conflict\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-body\"\u003e\n\u003cdiv class=\"u22r1-fs-radar-panel\"\u003e\n\u003csvg style=\"overflow: visible;\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 320 320\" id=\"u22r1-fs-svg\"\u003e\u003c\/svg\u003e\n\u003cdiv id=\"u22r1-fs-tip\" class=\"u22r1-fs-tip\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-info\"\u003e\n\u003cspan class=\"u22r1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n\u003cdiv class=\"u22r1-fs-feeling\"\u003e\n\u003cspan class=\"u22r1-fs-feel-tag\"\u003eTactical\u003c\/span\u003e \u003cspan class=\"u22r1-fs-feel-tag\"\u003eNarrative\u003c\/span\u003e \u003cspan class=\"u22r1-fs-feel-tag\"\u003eAdrenaline-pumping\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"u22r1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n\u003cdiv class=\"u22r1-fs-targets\"\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-si\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-si\"\u003e\n\u003cspan\u003e🧠\u003c\/span\u003eHeavy game\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-no\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-no\"\u003e\n\u003cspan\u003e🧒\u003c\/span\u003eKids\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-no\"\u003e\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-target u22r1-fs-no\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-verdict\"\u003e\n\u003cdiv class=\"u22r1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-verdict-text\"\u003eTactical deck-building with a branching campaign. Your decisions persist between sessions — perfect for those who want narrative depth without a legacy game commitment.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-fs-footer\"\u003e\n\u003cimg class=\"u22r1-fs-footer-frog\" alt=\"FroGames\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\"\u003e FrogScore · FroGames editorial rating · based on rules, international reviews, and play sessions\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[\n        {l:'Strategy',    v:5, note:\"Every card built is a choice — the deck you have at the end of the campaign is your masterpiece\"},\n        {l:'Depth',   v:4, note:\"The branching campaign changes scenarios based on your victories and defeats\"},\n        {l:'Tension',     v:4, note:\"Each scenario is a countdown — losing ground is costly in the next session\"},\n        {l:'Replayability',v:4, note:\"Two asymmetric factions, 15 single scenarios, multiple-choice campaign\"},\n        {l:'Complexity',  v:3, note:\"Two levels of combat to learn — mastered in one session\"},\n        {l:'Luck',      v:2, note:\"Dice exist, but deck construction reduces almost everything to a minimum\"}\n      ];\n      var accent='#3A6E9A';\n      var VB=320,CX=160,CY=160,R=74;\n      var n=dims.length,step=PI2\/n,off=-Math.PI\/2;\n      var svg=document.getElementById('u22r1-fs-svg');\n      var tip=document.getElementById('u22r1-fs-tip');\n      var ns='http:\/\/www.w3.org\/2000\/svg';\n\n      function pt(r,i){return[CX+r*Math.cos(off+i*step),CY+r*Math.sin(off+i*step)];}\n      function el(tag,attrs){\n        var e=document.createElementNS(ns,tag);\n        Object.keys(attrs).forEach(function(k){e.setAttribute(k,attrs[k]);});\n        return e;\n      }\n\n      var st=document.createElement('style');\n      st.textContent='@keyframes u22r1-draw{to{stroke-dashoffset:0}}@keyframes u22r1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\n\n      for(var ring=1;ring\u003c=5;ring++){\n        var rr=R*(ring\/5);\n        var pts=dims.map(function(_,i){var p=pt(rr,i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n        svg.appendChild(el('polygon',{points:pts,fill:'none',stroke:ring===5?'#c0b8b0':'#ddd8d0','stroke-width':ring===5?'1':'0.5'}));\n      }\n      dims.forEach(function(_,i){\n        var p=pt(R,i);\n        svg.appendChild(el('line',{x1:CX,y1:CY,x2:p[0].toFixed(1),y2:p[1].toFixed(1),stroke:'#d0c8c0','stroke-width':'0.5'}));\n      });\n\n      var dpts=dims.map(function(d,i){var p=pt(R*(d.v\/5),i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n      var perim=dims.reduce(function(acc,d,i){\n        var p1=pt(R*(d.v\/5),i),p2=pt(R*(dims[(i+1)%n].v\/5),(i+1)%n);\n        return acc+Math.sqrt(Math.pow(p2[0]-p1[0],2)+Math.pow(p2[1]-p1[1],2));\n      },0);\n      var shape=el('polygon',{points:dpts,fill:accent+'1a',stroke:accent,'stroke-width':'2.5','stroke-linejoin':'round'});\n      shape.style.cssText='stroke-dasharray:'+perim.toFixed(0)+';stroke-dashoffset:'+perim.toFixed(0)+';animation:u22r1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.v\/5),i);\n        var angle=off+i*step;\n        var hit=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'10',fill:'transparent',cursor:'pointer'});\n        (function(idx){\n          hit.addEventListener('mouseenter',function(e){\n            tip.innerHTML='\u003cstrong\u003e'+dims[idx].l+' '+dims[idx].v+'\/5\u003c\/strong\u003e\u003cbr\u003e'+dims[idx].note;\n            tip.style.display='block';\n            var rect=svg.parentElement.getBoundingClientRect();\n            var ex=e.clientX-rect.left, ey=e.clientY-rect.top;\n            tip.style.left=Math.min(ex+12,rect.width-220)+'px';\n            tip.style.top=Math.max(ey-55,4)+'px';\n          });\n          hit.addEventListener('mouseleave',function(){tip.style.display='none';});\n        })(i);\n        svg.appendChild(hit);\n        var c=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'4.5',fill:accent,stroke:'white','stroke-width':'2'});\n        c.style.cssText='opacity:0;animation:u22r1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n        var nd=R*(d.v\/5)+15;\n        var nx=CX+nd*Math.cos(angle),ny=CY+nd*Math.sin(angle);\n        var vt=el('text',{x:nx.toFixed(1),y:(ny+1).toFixed(1),'text-anchor':'middle','dominant-baseline':'middle','font-size':'10','font-weight':'800',fill:accent,'font-family':'-apple-system,sans-serif'});\n        vt.textContent=d.v;\n        vt.style.cssText='opacity:0;animation:u22r1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\n      });\n\n      dims.forEach(function(d,i){\n        var angle=off+i*step;\n        var lx=CX+(R+40)*Math.cos(angle),ly=CY+(R+40)*Math.sin(angle);\n        var anchor='middle';\n        if(Math.cos(angle)\u003e0.2) anchor='start';\n        else if(Math.cos(angle)\u003c-0.2) anchor='end';\n        var dy=Math.sin(angle)\u003e0.6?7:Math.sin(angle)\u003c-0.6?-5:0;\n        var isHi=d.v\u003e=4;\n        var t=el('text',{x:lx.toFixed(1),y:(ly+dy).toFixed(1),'text-anchor':anchor,'dominant-baseline':'middle','font-size':isHi?'12':'11','font-weight':'700',fill:'#1a1208','font-family':'-apple-system,sans-serif'});\n        t.textContent=d.l;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n\u003cdiv class=\"u22r1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- ARSENAL --\u003e\n\u003cdiv class=\"u22r1-section-pad\"\u003e\n\u003cp class=\"u22r1-label\"\u003eYour arsenal\u003c\/p\u003e\n\u003ch3 class=\"u22r1-h3\"\u003eWhat you control in each scenario\u003c\/h3\u003e\n\u003cdiv class=\"u22r1-cards\"\u003e\n\u003cdiv class=\"u22r1-card\"\u003e\n\u003cspan class=\"u22r1-card-icon\"\u003e🤖\u003c\/span\u003e\n\u003ch4 class=\"u22r1-card-name\"\u003eCombat mechs\u003c\/h4\u003e\n\u003cp class=\"u22r1-card-desc\"\u003eThey dominate the terrain, exploit high ground, resist fire. The backbone of every ground operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-card\"\u003e\n\u003cspan class=\"u22r1-card-icon\"\u003e✈️\u003c\/span\u003e\n\u003ch4 class=\"u22r1-card-name\"\u003eAircraft and fighters\u003c\/h4\u003e\n\u003cp class=\"u22r1-card-desc\"\u003eAerial combat adapted from the Battle of Britain series — a tactical layer completely separate from the ground.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-card\"\u003e\n\u003cspan class=\"u22r1-card-icon\"\u003e🃏\u003c\/span\u003e\n\u003ch4 class=\"u22r1-card-name\"\u003eYour evolving deck\u003c\/h4\u003e\n\u003cp class=\"u22r1-card-desc\"\u003eEvery card added is a choice. Every completed scenario changes what you bring to the next game.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"u22r1-card\"\u003e\n\u003cspan class=\"u22r1-card-icon\"\u003e🌍\u003c\/span\u003e\n\u003ch4 class=\"u22r1-card-name\"\u003eThree war fronts\u003c\/h4\u003e\n\u003cp class=\"u22r1-card-desc\"\u003eMars, Moon, Earth — separate maps with unique terrain rules that change where it's best to attack each time.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CLOSING --\u003e\n\u003cdiv class=\"u22r1-closing\"\u003e\n\u003cp class=\"u22r1-closing-text\"\u003eIn a few hours, you will have won or lost a battle that will change the next session. It always happens with Undaunted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- BOX CONTENT --\u003e\n\u003cdiv class=\"u22r1-box-section\"\u003e\n\u003cdetails class=\"u22r1-det u22r1-det--last\"\u003e\n\u003csummary class=\"u22r1-det-sum\"\u003e\u003cspan class=\"u22r1-det-ico\"\u003e📖\u003c\/span\u003e\u003cspan class=\"u22r1-det-title\"\u003eRulebook\u003c\/span\u003e\u003cspan class=\"u22r1-det-sub\"\u003eEnglish · Osprey Games\u003c\/span\u003e\u003cspan class=\"u22r1-det-arr\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"u22r1-det-body\"\u003e\n\u003cdiv class=\"u22r1-rl-wrap\"\u003e\n\u003cdiv class=\"u22r1-rl-langs\"\u003e\u003cspan class=\"u22r1-rl-lang\"\u003e🇬🇧 English\u003c\/span\u003e\u003c\/div\u003e\n\u003ca style=\"display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: #0B1A2E; border-radius: 10px; text-decoration: none; color: #fff;\" class=\"u22r1-rl-link\" href=\"https:\/\/ospreypublishing.com\" target=\"_blank\"\u003e\u003cspan class=\"u22r1-rl-ico\"\u003e📄\u003c\/span\u003e\n\u003cdiv class=\"u22r1-rl-body\"\u003e\n\u003cspan class=\"u22r1-rl-title\"\u003eOfficial Osprey Games Rulebook\u003c\/span\u003e\u003cspan class=\"u22r1-rl-sub\"\u003eospreypublishing.com\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"u22r1-rl-arr-ext\"\u003e↗\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- \/body --\u003e\n\u003c\/div\u003e\u003c!-- \/wrap --\u003e\n\u003cstyle\u003e\n.u22r1-wrap, .u22r1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.u22r1-wrap {\n  font-family: Georgia, 'Times New Roman', serif;\n  border-radius: 24px;\n  overflow: hidden;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.32);\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  background: #0B1A2E;\n}\n\n\/* ── COPERTINA ── *\/\n.u22r1-cover { position: relative; width: 100%; height: 340px; overflow: hidden; display: flex; align-items: flex-end; }\n.u22r1-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }\n.u22r1-cover-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(11,26,46,0) 0%, rgba(11,26,46,0) 25%, rgba(11,26,46,0.6) 55%, rgba(11,26,46,0.9) 75%, rgba(11,26,46,0.99) 100%); }\n.u22r1-cover-content { position: relative; z-index: 2; padding: 18px 26px 24px; width: 100%; }\n.u22r1-kicker { display: block; color: #C45820; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }\n.u22r1-sub { color: rgba(255,255,255,0.9); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 16px; }\n.u22r1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.u22r1-chip { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.u22r1-chip--accent { background: #C45820; border-color: #C45820; }\n\n\/* ── SPECS ── *\/\n.u22r1-specs-bar { background: #07111F; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.u22r1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.u22r1-spec { padding: 13px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }\n.u22r1-spec:nth-child(3n) { border-right: none; }\n.u22r1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.u22r1-spec-icon { font-size: 1.2rem; }\n.u22r1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.u22r1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n\n\/* ── BODY ── *\/\n.u22r1-body { background: #EEF3F8; }\n\n\/* ── INTRO ── *\/\n.u22r1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.u22r1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #3A6E9A; margin-bottom: 7px; }\n.u22r1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #0B1A2E; line-height: 1.15; margin-bottom: 16px; }\n.u22r1-p { font-family: sans-serif; font-size: 0.95rem; color: #1E3A5A; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n\n\/* ── BOX EDITORIALI ── *\/\n.u22r1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #3A6E9A; margin-bottom: 12px; }\n.u22r1-quote-solo { background: #0B1A2E; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #C45820; }\n.u22r1-quote-solo--alt { background: #112236; border-left-color: #3A6E9A; }\n.u22r1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.u22r1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.u22r1-qs-note { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }\n\n\/* ── DIVIDER ── *\/\n.u22r1-divider { height: 1px; background: #c8d8e8; margin: 32px 28px 0; }\n\n\/* ── FROGSCORE ── *\/\n.u22r1-fs { background:#fff; border-top:1px solid #d8e4ee; border-bottom:1px solid #d8e4ee; }\n.u22r1-fs-header { padding:14px 20px 13px; background:#fff; border-bottom:1px solid #e8e2da; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }\n.u22r1-fs-brand { display:flex; align-items:center; gap:9px; }\n.u22r1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.u22r1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.u22r1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.u22r1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.u22r1-fs-cat { font-family:sans-serif; font-size:10px; padding:3px 11px; border-radius:50px; font-weight:700; border:1.5px solid; white-space:nowrap; }\n.u22r1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.u22r1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.u22r1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.u22r1-fs-tip { display:none; position:absolute; background:#0B1A2E; color:rgba(255,255,255,0.92); font-family:sans-serif; font-size:11px; line-height:1.55; padding:8px 12px; border-radius:9px; z-index:20; max-width:210px; box-shadow:0 4px 18px rgba(0,0,0,0.22); pointer-events:none; }\n.u22r1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.u22r1-fs-feel-lbl { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:9px; }\n.u22r1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.u22r1-fs-feel-tag { font-family:Georgia,serif; font-size:13px; font-style:italic; color:#3d2810; padding:5px 14px; background:#fff; border-radius:7px; border:1px solid #d8d0c4; }\n.u22r1-fs-section-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:10px; }\n.u22r1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.u22r1-fs-target { display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; border:1px solid; font-family:sans-serif; font-size:11px; font-weight:600; }\n.u22r1-fs-target span { font-size:14px; flex-shrink:0; }\n.u22r1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.u22r1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.u22r1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.u22r1-fs-verdict-title { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:5px; }\n.u22r1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.u22r1-fs-footer { padding:9px 20px; background:#eeeae4; border-top:1px solid #e0d8cc; font-family:sans-serif; font-size:11px; color:#6b5e48; line-height:1.5; }\n\n\/* ── CARDS ── *\/\n.u22r1-section-pad { padding: 32px 28px 8px; }\n.u22r1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.u22r1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #c8d8e8; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.u22r1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.u22r1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.u22r1-card-name { font-size: 0.95rem; font-weight: 900; color: #3A6E9A; margin-bottom: 5px; }\n.u22r1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #1E3A5A; line-height: 1.55; }\n\n\/* ── CLOSING ── *\/\n.u22r1-closing { background: #0B1A2E; padding: 26px 28px; border-top: 3px solid #C45820; }\n.u22r1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.88); text-align: center; line-height: 1.6; }\n\n\/* ── CONTENUTO SCATOLA ── *\/\n.u22r1-box-section { background: #EEF3F8; border-top: 1px solid #c8d8e8; }\n.u22r1-det { border-bottom: 1px solid #d8e8f4; background: #fff; }\n.u22r1-det--last { border-bottom: none; }\n.u22r1-det-sum { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; cursor: pointer; transition: background .18s; }\n.u22r1-det-sum::-webkit-details-marker { display: none; }\n.u22r1-det-sum::marker { display: none; }\n.u22r1-det[open] .u22r1-det-sum { background: #f0f6fc; }\n.u22r1-det-sum:hover { background: #f0f6fc; }\n.u22r1-det-left { display: flex; align-items: center; gap: 10px; }\n.u22r1-det-ico { font-size: 17px; flex-shrink: 0; }\n.u22r1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #0B1A2E; display: block; }\n.u22r1-det-sub { font-family: sans-serif; font-size: 11px; color: #6b8090; margin-top: 1px; display: block; }\n.u22r1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.u22r1-det-arr::before { content: \"\"; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #9c8e7a; border-bottom: 2px solid #9c8e7a; transform: translate(-50%,-70%) rotate(45deg); transition: transform .22s; }\n.u22r1-det[open] .u22r1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.u22r1-det-body { padding: 0 20px 16px; background: #fff; }\n.u22r1-rl-wrap { padding-top:14px; display:flex; flex-direction:column; gap:10px; }\n.u22r1-rl-langs { display:flex; flex-wrap:wrap; gap:6px; }\n.u22r1-rl-lang { font-family:sans-serif; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; background:#eaf3de; border:1px solid #80b050; color:#2a5010; }\n.u22r1-rl-ico { font-size:1.2rem; flex-shrink:0; }\n.u22r1-rl-body { flex:1; min-width:0; }\n.u22r1-rl-title { display:block; font-family:sans-serif; font-size:0.82rem; font-weight:700; color:#fff; }\n.u22r1-rl-sub { display:block; font-family:sans-serif; font-size:0.7rem; color:rgba(255,255,255,0.5); margin-top:2px; }\n.u22r1-rl-arr-ext { font-size:0.9rem; color:rgba(255,255,255,0.45); flex-shrink:0; }\n\n\/* ── RESPONSIVE ── *\/\n@media screen and (min-width: 600px) {\n  .u22r1-specs { grid-template-columns: repeat(6, 1fr); }\n  .u22r1-spec { border-bottom: none; }\n  .u22r1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .u22r1-spec:last-child { border-right: none; }\n  .u22r1-cards { grid-template-columns: repeat(2, 1fr); }\n  .u22r1-fs-body { grid-template-columns: 220px 1fr; }\n  .u22r1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .u22r1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .u22r1-cover { height: 440px; }\n  .u22r1-cover-content { padding: 22px 36px 30px; }\n  .u22r1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .u22r1-cards { grid-template-columns: repeat(4, 1fr); }\n  .u22r1-divider { margin-left: 36px; margin-right: 36px; }\n  .u22r1-section-pad { padding: 36px 36px 8px; }\n  .u22r1-closing { padding: 28px 36px; }\n  .u22r1-fs-body { grid-template-columns: 260px 1fr; }\n  .u22r1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e","brand":"Osprey Games","offers":[{"title":"Default Title","offer_id":53708796461383,"sku":null,"price":79.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/Undaunted2200Revolution00.webp?v=1776267672","url":"https:\/\/frogames.it\/en\/products\/undaunted-2200-revolution","provider":"FroGames","version":"1.0","type":"link"}