{"product_id":"scheda-opera-magna","title":"Opera Magna","description":"\u003cdiv class=\"fg1-wrap\"\u003e\n  \u003cdiv class=\"fg1-hero\"\u003e\n    \u003cdiv class=\"fg1-hero-content\"\u003e\n      \u003cp class=\"fg1-kicker\"\u003eLa scheda FroGames\u003c\/p\u003e\n      \u003cp class=\"fg1-sub\"\u003eCompri legno quando costa poco, ma tutti vedono cosa lasci. Torni all'officina e quello che ti serviva ora vale il doppio. Qualcuno sorride. Qualcuno impreca. Alla fine il marmo che hai consegnato vale più della basilica stessa.\u003c\/p\u003e\n      \u003cdiv class=\"fg1-chips\"\u003e\n\u003cspan class=\"fg1-chip fg1-chip--accent\"\u003eStrategico\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eLudus Magnus Studio\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eBattista × Castelli\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fg1-specs-bar\"\u003e\n    \u003cdiv class=\"fg1-specs\"\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e👥\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eGiocatori\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e2 – 4\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e⏱️\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eDurata\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e45 – 60 min\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎂\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eEtà\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e12+ anni\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e🏛️\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eEditore\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eLudus Magnus\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e⚖️\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003ePeso\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eMedio (2.8)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e💰\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eMeccanica\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eMercato dinamico\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"background:#160a02;padding:13px 24px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;border-top:1px solid rgba(255,255,255,0.06)\"\u003e\n\u003cspan style=\"font-family:sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45)\"\u003eLa formula\u003c\/span\u003e\u003cspan style=\"font-family:sans-serif;font-size:0.92rem;font-weight:800;color:#fff\"\u003eMercato dinamico con prezzi variabili \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e ottimizzazione officina vs consegne \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e gestione risorse bifasica\u003c\/span\u003e\u003cspan style=\"font-family:sans-serif;font-size:0.78rem;font-weight:800;color:#1a0800;background:#FFB800;padding:5px 13px;border-radius:50px;max-width:100%;line-height:1.4\"\u003e✋ Solo qui: Mercato che cambia a ogni azione\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-body\"\u003e\n    \u003cdiv class=\"fg1-intro-grid\"\u003e\n      \u003cdiv class=\"fg1-intro-text\"\u003e\n        \u003cp class=\"fg1-label\"\u003eDI COSA SI TRATTA\u003c\/p\u003e\n        \u003ch3 class=\"fg1-h3\"\u003eDue maestri della scena italiana firmano un eurogame rinascimentale\u003c\/h3\u003e\n        \u003cp class=\"fg1-p\"\u003eOpera Magna è il risultato di una collaborazione rara: \u003cstrong\u003eTommaso Battista\u003c\/strong\u003e (Barrage, D.E.I.) e \u003cstrong\u003eStefano Castelli\u003c\/strong\u003e (Potion Explosion, Chamber of Wonders) uniscono le forze per portarti nella Firenze del XV secolo, nel pieno della costruzione della basilica più importante del Rinascimento. Le illustrazioni di \u003cstrong\u003eLara Ongis\u003c\/strong\u003e restituiscono l'ambientazione con eleganza, mentre Ludus Magnus Studio pubblica un eurogame che mira alla pulizia meccanica senza sacrificare profondità.\u003c\/p\u003e\n        \u003cp class=\"fg1-p\"\u003eSei un mercante che rifornisce il cantiere della basilica. Viaggi tra i mercati del Mediterraneo per comprare risorse, le raffini nella tua officina e le consegni al cantiere per guadagnare prestigio. Ogni scelta influenza i prezzi per tutti, e quello che lasci agli altri conta tanto quanto quello che prendi. Il cuore del gioco è un \u003cstrong\u003emercato dinamico\u003c\/strong\u003e in cui i valori cambiano a ogni azione, costruito attorno a meccaniche di \u003cstrong\u003eworker placement\u003c\/strong\u003e e \u003cstrong\u003ecarte multi-uso\u003c\/strong\u003e.\u003c\/p\u003e\n        \n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-intro-side\"\u003e\n        \u003cp class=\"fg1-quote-header\"\u003eCosa dicono all'estero\u003c\/p\u003e\n        \u003cdiv class=\"fg1-quote fg1-quote--dark\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003eOpera Magna è una promessa di eleganza meccanica dentro una cornice storica che respira. Se Battista e Castelli mantengono le premesse, avremo uno dei migliori eurogame italiani degli ultimi anni. Aspettiamo di giocarlo per confermarlo.\u003c\/p\u003e\n          \n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eFroGames\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-quote\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003e\"A collaboration between two of the most respected names in Italian board game design.\"\u003c\/p\u003e\n          \u003cp class=\"fg1-quote-transl\"\u003eUna collaborazione tra due dei nomi più rispettati del design italiano di giochi da tavolo.\u003c\/p\u003e\n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eLudus Magnus Studio\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"fg1-divider\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"fg1-fs\"\u003e\n      \u003cdiv class=\"fg1-fs-header\"\u003e\n        \u003cdiv class=\"fg1-fs-brand\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\u0026amp;width=64\" alt=\"FroGames\" class=\"fg1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"fg1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n            \u003cp class=\"fg1-fs-game-name\"\u003eOpera Magna\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"fg1-fs-cat\" style=\"background:#eaf3de;border-color:#80b050;color:#2a5010\"\u003eStrategia\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-fs-body\"\u003e\n        \u003cdiv class=\"fg1-fs-radar-panel\"\u003e\n          \u003csvg id=\"fg1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"fg1-fs-tip\" id=\"fg1-fs-tip\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-fs-info\"\u003e\n          \u003cspan class=\"fg1-fs-feel-lbl\"\u003eL'esperienza\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-feeling\"\u003e\n\u003cspan class=\"fg1-fs-feel-tag\"\u003eCalcolato\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eElegante\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eCompetitivo\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cspan class=\"fg1-fs-section-label\"\u003ePer chi è\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-targets\"\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eEsperti\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🧘\u003c\/span\u003eSolitario\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"fg1-fs-verdict\"\u003e\n            \u003cdiv class=\"fg1-fs-verdict-title\"\u003eIn sintesi\u003c\/div\u003e\n            \u003cdiv class=\"fg1-fs-verdict-text\"\u003ePerché ci piace: è un eurogame che fa dell'eleganza meccanica il suo punto di forza, con un mercato che premia chi sa leggere gli altri e un sistema di carte versatile che apre molte strade. La collaborazione Battista-Castelli promette un design senza fronzoli ma ricco di scelte significative. Difetti ma non deal-breaker: è un gioco che chiede concentrazione e tempi di inattività tra i turni, soprattutto in quattro. La fortuna è quasi assente, quindi chi sbaglia paga senza alibi.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-fs-footer\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\u0026amp;width=64\" alt=\"FroGames\" class=\"fg1-fs-footer-frog\"\u003e FrogScore · valutazione editoriale FroGames · basata su regolamento, recensioni internazionali e sessioni di gioco\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[{\"label\": \"Strategia\", \"value\": 4, \"note\": \"Ogni acquisto al mercato è una scelta che lascia traccia: timing e lettura degli altri pesano quanto l'ottimizzazione pura\"}, {\"label\": \"Interazione\", \"value\": 4, \"note\": \"Indiretta ma costante: prendi risorse che servono anche agli altri e modifichi i prezzi per tutti a ogni mossa\"}, {\"label\": \"Rigiocabilità\", \"value\": 4, \"note\": \"Il mercato dinamico e le carte multi-uso garantiscono partite diverse, ma la struttura resta la stessa\"}, {\"label\": \"Complessità\", \"value\": 3, \"note\": \"Regole fluide e comprensibili in 15 minuti, ma la profondità emerge dalle combinazioni di officina e consegne\"}, {\"label\": \"Tensione\", \"value\": 3, \"note\": \"Sale nel finale quando il prestigio si gioca su poche consegne chiave e i margini si assottigliano\"}];\n      var accent='#2E6B0A';\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('fg1-fs-svg');\n      var tip=document.getElementById('fg1-fs-tip');\n      if(!svg) return;\n      var ns='http:\/\/www.w3.org\/2000\/svg';\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      var st=document.createElement('style');\n      st.textContent='@keyframes fg1-draw{to{stroke-dashoffset:0}}@keyframes fg1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\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      var dpts=dims.map(function(d,i){var p=pt(R*(d.value\/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.value\/5),i),p2=pt(R*(dims[(i+1)%n].value\/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:fg1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.value\/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].label+' '+dims[idx].value+'\/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:fg1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n        var nd=R*(d.value\/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.value;\n        vt.style.cssText='opacity:0;animation:fg1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\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.value\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.label;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n    \u003cdiv class=\"fg1-divider\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"fg1-section-pad\"\u003e\n      \u003cp class=\"fg1-label\"\u003eCosa gestisci al tavolo\u003c\/p\u003e\n      \u003ch3 class=\"fg1-h3\"\u003eQuattro elementi che ruotano attorno alla tua officina\u003c\/h3\u003e\n      \u003cdiv class=\"fg1-cards\"\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e💰\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eMercato dinamico\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eOgni risorsa ha un prezzo che cambia a ogni acquisto. Compri legno a poco? Sale per tutti. Gli altri aspettano che tu compri marmo costoso per prenderlo dopo a metà prezzo. Il mercato è vivo e ricorda ogni mossa.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🏭\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eOfficina personale\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eLa raffini con upgrade che ti permettono di trasformare le risorse grezze in materiali più pregiati. Più investi qui, più le tue consegne valgono. Ma ogni turno speso a migliorare è un turno che non consegni.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🚚\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eConsegne al cantiere\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003ePorti marmo, legno e ferro alla basilica per guadagnare prestigio. Le consegne più grandi valgono di più, ma richiedono risorse che tutti vogliono. Devi decidere se puntare alla quantità o alla qualità.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🃏\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eCarte multi-uso\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eOgni carta può essere usata in modi diversi: come azione, come sconto, come bonus. Scegliere quando bruciarle e quando tenerle in mano è metà del gioco. Le combinazioni sono molte, i turni pochi.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.fg1-wrap, .fg1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.fg1-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: #1a1a1a;\n}\n.fg1-hero {\n  background: linear-gradient(135deg, #1a1a1a 0%, #222222 50%, #1a1a1a 100%);\n  padding: 32px 26px 36px;\n  position: relative;\n  overflow: hidden;\n}\n.fg1-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: radial-gradient(ellipse at top right, rgba(46,107,10,0.08) 0%, transparent 60%);\n  pointer-events: none;\n}\n.fg1-hero-content { position: relative; z-index: 2; }\n.fg1-kicker { display: block; color: #FFB800; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }\n.fg1-sub { color: rgba(255,255,255,0.88); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 18px; }\n.fg1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.fg1-chip { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.fg1-chip--accent { background: #2E6B0A; border-color: #2E6B0A; }\n.fg1-specs-bar { background: #160a02; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.fg1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.fg1-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.fg1-spec:nth-child(3n) { border-right: none; }\n.fg1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.fg1-spec-icon { font-size: 1.2rem; }\n.fg1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.fg1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n.fg1-body { background: #F5EDD8; }\n.fg1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.fg1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 7px; }\n.fg1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0800; line-height: 1.15; margin-bottom: 16px; }\n.fg1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n.fg1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 12px; }\n.fg1-quote { background: #1a0800; border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; border-left: 4px solid #FFB800; }\n.fg1-quote--dark { background: #3a0a00; }\n.fg1-quote-text { color: #fff; font-style: italic; font-size: 0.87rem; line-height: 1.6; margin-bottom: 6px; font-family: sans-serif; }\n.fg1-quote-transl { color: rgba(255,255,255,0.48); font-family: sans-serif; font-size: 0.76rem; line-height: 1.5; margin-bottom: 7px; font-style: italic; }\n.fg1-quote-source { color: rgba(255,255,255,0.43); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; }\n.fg1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }\n.fg1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.fg1-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.fg1-fs-brand { display:flex; align-items:center; gap:9px; }\n.fg1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.fg1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.fg1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.fg1-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.fg1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.fg1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.fg1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.fg1-fs-tip { display:none; position:absolute; background:#1a1208; 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.fg1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.fg1-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.fg1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.fg1-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.fg1-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.fg1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.fg1-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.fg1-fs-target span { font-size:14px; flex-shrink:0; }\n.fg1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.fg1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.fg1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.fg1-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.fg1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-fs-solo { background:#f0ece4; border-top:1px solid #e0d8cc; padding:14px 18px; }\n.fg1-fs-solo-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }\n.fg1-fs-solo-icon { font-size:1.4rem; flex-shrink:0; }\n.fg1-fs-solo-text { display:flex; flex-direction:column; gap:2px; flex-grow:1; }\n.fg1-fs-solo-label { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-solo-stars { font-family:sans-serif; font-size:14px; letter-spacing:2px; color:#2E6B0A; line-height:1; }\n.fg1-fs-solo-note { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-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.fg1-section-pad { padding: 32px 28px 8px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n.fg1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.fg1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.fg1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.fg1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.fg1-card-name { font-size: 0.95rem; font-weight: 900; color: #2E6B0A; margin-bottom: 5px; }\n.fg1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }\n.fg1-sleeve-toggle { background: #fff; border-radius: 14px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); overflow: hidden; }\n.fg1-sleeve-summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; gap: 14px; font-family: sans-serif; user-select: none; transition: background 0.2s ease; }\n.fg1-sleeve-summary::-webkit-details-marker { display: none; }\n.fg1-sleeve-summary:hover { background: #faf2e2; }\n.fg1-sleeve-summary-icon { font-size: 1.5rem; flex-shrink: 0; }\n.fg1-sleeve-summary-text { flex-grow: 1; display: flex; flex-direction: column; gap: 2px; }\n.fg1-sleeve-summary-label { font-size: 0.95rem; font-weight: 800; color: #1a0800; }\n.fg1-sleeve-summary-count { font-size: 0.78rem; color: #7a6040; font-weight: 500; }\n.fg1-sleeve-summary-arrow { font-size: 0.75rem; color: #2E6B0A; transition: transform 0.25s ease; flex-shrink: 0; }\n.fg1-sleeve-toggle[open] .fg1-sleeve-summary-arrow { transform: rotate(180deg); }\n.fg1-sleeve-toggle[open] .fg1-sleeve-summary { border-bottom: 1px solid #f0e4ce; }\n.fg1-sleeve-body { padding: 16px 20px 20px; }\n.fg1-sleeve-intro { font-family: sans-serif; font-size: 0.9rem; color: #3d2810; line-height: 1.6; margin: 0 0 14px 0; max-width: 680px; }\n.fg1-sleeve-table { width: 100%; max-width: 420px; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #e8dcba; font-family: sans-serif; }\n.fg1-sleeve-table th { background: #2E6B0A; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 0.72rem; font-weight: 700; padding: 10px 14px; text-align: left; }\n.fg1-sleeve-table td { padding: 10px 14px; border-bottom: 1px solid #f0e4ce; font-size: 0.9rem; color: #3d2810; }\n.fg1-sleeve-table tbody tr:last-child td { border-bottom: none; }\n.fg1-sleeve-dim { font-weight: 600; }\n.fg1-sleeve-qty { font-weight: 800; text-align: right; color: #2E6B0A; }\n.fg1-sleeve-total td { background: #faf2e2; font-weight: 900; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }\n.fg1-sleeve-total .fg1-sleeve-qty { color: #1a0800; }\n.fg1-rulebook-pad { padding-top: 18px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n\/* Card cliccabile: border shorthand + accent verde a sinistra (etichetta \"risorsa speciale\").\n   Niente 4 border separati: il border-bottom da solo si leggeva come underline. *\/\na.fg1-rulebook,\na.fg1-rulebook:link,\na.fg1-rulebook:visited,\na.fg1-rulebook:hover,\na.fg1-rulebook:focus,\na.fg1-rulebook:active {\n  text-decoration: none !important;\n  border: 1px solid #e8dcba !important;\n  border-left: 4px solid #2E6B0A !important;\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;\n  outline: none !important;\n  background-image: none !important;\n}\n.fg1-rulebook { display: flex; align-items: center; gap: 14px; background: #fffaf0; border-radius: 12px; padding: 14px 18px; color: #1a0800; transition: background 0.2s ease, transform 0.2s ease; }\n.fg1-rulebook:hover { background: #faf0d8 !important; transform: translateX(2px); }\n\/* Reset preventivo su figli e pseudo-elementi: alcuni temi Shopify (Concept, Dawn-derived,\n   Impulse, Prestige) iniettano underline animate via ::before\/::after con background-image\n   linear-gradient. Vanno nuke esplicitamente. *\/\n.fg1-rulebook *,\n.fg1-rulebook *::before,\n.fg1-rulebook *::after {\n  text-decoration: none !important;\n  border: 0 !important;\n  box-shadow: none !important;\n  background: transparent !important;\n  background-image: none !important;\n}\n.fg1-rulebook::before,\n.fg1-rulebook::after {\n  display: none !important;\n  content: none !important;\n}\n.fg1-rulebook-icon { font-size: 1.6rem; flex-shrink: 0; }\n.fg1-rulebook-text { display: flex; flex-direction: column; flex-grow: 1; gap: 2px; }\n.fg1-rulebook-label { font-weight: 800; font-size: 0.95rem; color: #1a0800; }\n.fg1-rulebook-meta { font-size: 0.78rem; color: #6b5a3a; }\n.fg1-rulebook-arrow { font-size: 1.1rem; color: #2E6B0A; font-weight: 700; flex-shrink: 0; }\n.fg1-closing { background: #1a0800; padding: 26px 28px; border-top: 3px solid #FFB800; }\n.fg1-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@media screen and (min-width: 600px) {\n  .fg1-specs { grid-template-columns: repeat(6, 1fr); }\n  .fg1-spec { border-bottom: none; }\n  .fg1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .fg1-spec:last-child { border-right: none; }\n  .fg1-cards { grid-template-columns: repeat(2, 1fr); }\n  .fg1-fs-body { grid-template-columns: 220px 1fr; }\n  .fg1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .fg1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .fg1-hero { padding: 40px 36px 44px; }\n  .fg1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .fg1-cards { grid-template-columns: repeat(4, 1fr); }\n  .fg1-divider { margin-left: 36px; margin-right: 36px; }\n  .fg1-section-pad { padding: 36px 36px 8px; }\n  .fg1-closing { padding: 28px 36px; }\n  .fg1-fs-body { grid-template-columns: 260px 1fr; }\n  .fg1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e","brand":"Ludus Magnus","offers":[{"title":"Default Title","offer_id":55394868461895,"sku":"ASM-00293","price":39.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/OperaMagna00.webp?v=1791812758","url":"https:\/\/frogames.it\/products\/scheda-opera-magna","provider":"FroGames","version":"1.0","type":"link"}