{"product_id":"smart-games-graveyard-shift","title":"Graveyard Shift","description":"\u003c!-- =====================================================\n     GRAVEYARD SHIFT — BLOCK 1\n     FroGames | Shopify Theme Concept\n     ⚠️ Replace INSERT_SHOPIFY_COVER_URL with the\n        Shopify CDN URL of the cover after uploading it.\n     ===================================================== --\u0026gt;\n\n\u003cdiv class=\"gvs1-wrap\"\u003e\n\n\n  \u003c!-- HEADER (without cover) --\u003e\n  \u003cdiv class=\"gvs1-cover\"\u003e\n\n    \u003cdiv class=\"gvs1-cover-content\"\u003e\n\n      \u003cp class=\"gvs1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\n      \u003cp class=\"gvs1-sub\"\u003eMidnight, a graveyard, a cat to find. And seven skeletons who have a bone to pick with you.\u003c\/p\u003e\n\n      \u003cdiv class=\"gvs1-chips\"\u003e\n\n        \u003cspan class=\"gvs1-chip gvs1-chip--pink\"\u003eSmartGames\u003c\/span\u003e\n        \u003cspan class=\"gvs1-chip\"\u003eSequential Puzzle\u003c\/span\u003e\n        \u003cspan class=\"gvs1-chip\"\u003eSpooky Theme\u003c\/span\u003e\n        \u003cspan class=\"gvs1-chip\"\u003eTravel Friendly\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- SPEC SHEET --\u003e\n  \u003cdiv class=\"gvs1-specs-bar\"\u003e\n\n    \u003cdiv class=\"gvs1-specs\"\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e👤\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003ePlayers\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003e1\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e⏱️\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003eDuration\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003eVariable\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e🎂\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003eAge\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003e10+ years\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e🧩\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003eMechanics\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003eSequential Movement\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e🎯\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003eChallenges\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003e80 · easy→expert\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-spec\"\u003e\n\n        \u003cspan class=\"gvs1-spec-icon\"\u003e🧘\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-label\"\u003eMode\u003c\/span\u003e\n        \u003cspan class=\"gvs1-spec-val\"\u003eSolo\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- BODY --\u003e\n  \u003cdiv class=\"gvs1-body\"\u003e\n\n\n    \u003c!-- INTRO + EDITORIAL BOXES --\u003e\n    \u003cdiv class=\"gvs1-intro-grid\"\u003e\n\n      \u003cdiv class=\"gvs1-intro-text\"\u003e\n\n        \u003cp class=\"gvs1-label\"\u003eWhat it's about\u003c\/p\u003e\n\n        \u003ch3 class=\"gvs1-h3\"\u003eFind the cat, escape the skeletons, reach the exit\u003c\/h3\u003e\n\n        \u003cp class=\"gvs1-p\"\u003e\u003cstrong\u003eGraveyard Shift\u003c\/strong\u003e is the solo puzzle game by Raf Peeters for SmartGames. A brave girl entered the graveyard at midnight to look for her cat — too bad the skeletons woke up and have a score to settle with her. You must get her to the exit safe and sound.\u003c\/p\u003e\n\n        \u003cp class=\"gvs1-p\"\u003eIt's a sequential movement puzzle with a twist: you move and rotate the pieces — the girl and the skeletons — one at a time into an adjacent free space, until you open a path. Each tile has a different shape with interlocking protrusions, the tombs create dead ends, and the skeletons block the way.\u003c\/p\u003e\n\n        \u003cp class=\"gvs1-p\"\u003eEighty challenges of increasing difficulty: it starts gentle and progresses to levels for true experts — the toughest one requires 158 moves to solve. In \u003cstrong\u003eGraveyard Shift\u003c\/strong\u003e there's no luck, no dice: just logic, patience, and spatial reasoning. Compact box, perfect to take anywhere.\u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"gvs1-intro-side\"\u003e\n\n        \u003cdiv class=\"gvs1-quote-solo\"\u003e\n\n          \u003cspan class=\"gvs1-qs-icon\"\u003e🔄\u003c\/span\u003e\n          \u003cp class=\"gvs1-qs-text\"\u003eThe twist is in the shapes: each piece has different protrusions, and before putting it back down you can rotate it. Moving one skeleton frees another — and suddenly the path changes.\u003c\/p\u003e\n\n          \u003cp class=\"gvs1-qs-note\"\u003eThe secret of Graveyard Shift in one line\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"gvs1-quote-solo gvs1-quote-solo--alt\"\u003e\n\n          \u003cspan class=\"gvs1-qs-icon\"\u003e🐈‍⬛\u003c\/span\u003e\n          \u003cp class=\"gvs1-qs-text\"\u003eThat moment when you stare at the bone maze, move the right piece, and the entire path opens up in front of the girl. It's worth every minute spent thinking about it.\u003c\/p\u003e\n\n          \u003cp class=\"gvs1-qs-note\"\u003eFrom the gaming experience\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"gvs1-divider\"\u003e\u003c\/div\u003e\n\n\n    \u003c!-- FROGSCORE --\u003e\n    \u003cdiv class=\"gvs1-fs\"\u003e\n\n      \u003cdiv class=\"gvs1-fs-header\"\u003e\n\n        \u003cdiv class=\"gvs1-fs-brand\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"gvs1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n\n            \u003cspan class=\"gvs1-fs-brand-label\"\u003eFrogScore · frogames.business\u003c\/span\u003e\n            \u003cp class=\"gvs1-fs-game-name\"\u003eGraveyard Shift\u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cspan class=\"gvs1-fs-cat\" style=\"background:#ece7f7;border-color:#a585cf;color:#3a1e60\"\u003ePuzzle · Solo\u003c\/span\u003e\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"gvs1-fs-body\"\u003e\n\n        \u003cdiv class=\"gvs1-fs-radar-panel\"\u003e\n\n          \u003csvg id=\"gvs1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"gvs1-fs-tip\" id=\"gvs1-fs-tip\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"gvs1-fs-info\"\u003e\n\n          \u003cspan class=\"gvs1-fs-feel-lbl\"\u003eThe Experience\u003c\/span\u003e\n          \u003cdiv class=\"gvs1-fs-feeling\"\u003e\n\n            \u003cspan class=\"gvs1-fs-feel-tag\"\u003eSpooky\u003c\/span\u003e\n            \u003cspan class=\"gvs1-fs-feel-tag\"\u003eChallenging\u003c\/span\u003e\n            \u003cspan class=\"gvs1-fs-feel-tag\"\u003eSatisfying\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cspan class=\"gvs1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n          \u003cdiv class=\"gvs1-fs-targets\"\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-si\"\u003e\n\n\u003cspan\u003e🧘\u003c\/span\u003eSolo\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-si\"\u003e\n\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-si\"\u003e\n\n\u003cspan\u003e🧒\u003c\/span\u003eKids\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-no\"\u003e\n\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-no\"\u003e\n\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-target gvs1-fs-no\"\u003e\n\n\u003cspan\u003e🧠\u003c\/span\u003eHeavy game\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"gvs1-fs-verdict\"\u003e\n\n            \u003cdiv class=\"gvs1-fs-verdict-title\"\u003eIn a Nutshell\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-fs-verdict-text\"\u003eA sequential movement puzzle that starts gently and scales up to challenges requiring over 150 moves. The spooky theme is spot on, it's pure logic, zero luck. Immediate rules but challenges that can stump even the most tenacious puzzlers — solo and travel-friendly, not a group game.\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"gvs1-fs-footer\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"gvs1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rules, official SmartGames materials and play sessions\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[\n        {l:'Logica',        v:5, note:\"Pianificazione pura: la sfida pi\\u00f9 dura chiede 158 mosse\"},\n        {l:'Profondit\\u00e0',   v:4, note:\"80 sfide con uno spazio di soluzioni che cresce molto\"},\n        {l:'Rigiocabilit\\u00e0',v:3, note:\"Ogni sfida ha una soluzione: il valore \\u00e8 nel risolverla\"},\n        {l:'Complessit\\u00e0',  v:2, note:\"Regole in un minuto: sposta e ruota i pezzi uno alla volta\"},\n        {l:'Fortuna',       v:1, note:\"Zero caso: si vince solo ragionando\"}\n      ];\n      var accent='#5E9B2E';\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('gvs1-fs-svg');\n      var tip=document.getElementById('gvs1-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 gvs1-draw{to{stroke-dashoffset:0}}@keyframes gvs1-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:gvs1-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\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\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:gvs1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n\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:gvs1-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\n    \u003cdiv class=\"gvs1-divider\"\u003e\u003c\/div\u003e\n\n\n    \u003c!-- PUZZLE ELEMENTS --\u003e\n    \u003cdiv class=\"gvs1-section-pad\"\u003e\n\n      \u003cp class=\"gvs1-label\"\u003eOn the Board\u003c\/p\u003e\n\n      \u003ch3 class=\"gvs1-h3\"\u003eWhat you move in each challenge\u003c\/h3\u003e\n\n      \u003cdiv class=\"gvs1-cards\"\u003e\n\n        \u003cdiv class=\"gvs1-card\"\u003e\n\n          \u003cspan class=\"gvs1-card-icon\"\u003e👧\u003c\/span\u003e\n          \u003ch4 class=\"gvs1-card-name\"\u003eThe Girl and the Cat\u003c\/h4\u003e\n\n          \u003cp class=\"gvs1-card-desc\"\u003eThe piece you need to guide to the exit. The challenge is solved when she reaches the graveyard gate.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"gvs1-card\"\u003e\n\n          \u003cspan class=\"gvs1-card-icon\"\u003e💀\u003c\/span\u003e\n          \u003ch4 class=\"gvs1-card-name\"\u003eThe Skeletons\u003c\/h4\u003e\n\n          \u003cp class=\"gvs1-card-desc\"\u003eSeven living bones obstructing the path. You move them one at a time to clear the way — but moving one can block another.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"gvs1-card\"\u003e\n\n          \u003cspan class=\"gvs1-card-icon\"\u003e🪦\u003c\/span\u003e\n          \u003ch4 class=\"gvs1-card-name\"\u003eThe Tombs\u003c\/h4\u003e\n\n          \u003cp class=\"gvs1-card-desc\"\u003eThree fixed gravestones that create dead ends. They force you to plan your route by navigating around obstacles.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"gvs1-card\"\u003e\n\n          \u003cspan class=\"gvs1-card-icon\"\u003e🔄\u003c\/span\u003e\n          \u003ch4 class=\"gvs1-card-name\"\u003eShapes and Rotations\u003c\/h4\u003e\n\n          \u003cp class=\"gvs1-card-desc\"\u003eEach tile has different protrusions. Before putting a piece back down, you can rotate it: this is where the most ingenious solutions arise.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- CLOSING --\u003e\n    \u003cdiv class=\"gvs1-closing\"\u003e\n\n      \u003cp class=\"gvs1-closing-text\"\u003eA seemingly impossible challenge, ten minutes of silence, then the girl slips through the gate. It always happens with Graveyard Shift.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- BOX CONTENTS --\u003e\n    \u003cdiv class=\"gvs1-box-section\"\u003e\n\n      \u003cdetails class=\"gvs1-det gvs1-det--last\"\u003e\n        \u003csummary class=\"gvs1-det-sum\"\u003e\n          \u003cdiv class=\"gvs1-det-left\"\u003e\n\n\u003cspan class=\"gvs1-det-ico\"\u003e🧩\u003c\/span\u003e\u003cdiv\u003e\n\n\u003cspan class=\"gvs1-det-title\"\u003eComponents\u003c\/span\u003e\u003cspan class=\"gvs1-det-sub\"\u003e5 elements · 11 puzzle tiles\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n          \u003cspan class=\"gvs1-det-arr\"\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"gvs1-det-body\"\u003e\n\n          \u003cdiv class=\"gvs1-comp-grid\"\u003e\n\n            \u003cdiv class=\"gvs1-comp\"\u003e\n\n\u003cspan class=\"gvs1-comp-qty\"\u003e1\u003c\/span\u003e\u003cspan class=\"gvs1-comp-lbl\"\u003eGame board\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-comp\"\u003e\n\n\u003cspan class=\"gvs1-comp-qty\"\u003e3\u003c\/span\u003e\u003cspan class=\"gvs1-comp-lbl\"\u003eTomb puzzle tiles\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-comp\"\u003e\n\n\u003cspan class=\"gvs1-comp-qty\"\u003e7\u003c\/span\u003e\u003cspan class=\"gvs1-comp-lbl\"\u003eSkeleton puzzle tiles\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-comp\"\u003e\n\n\u003cspan class=\"gvs1-comp-qty\"\u003e1\u003c\/span\u003e\u003cspan class=\"gvs1-comp-lbl\"\u003eGirl and cat tile\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n            \u003cdiv class=\"gvs1-comp\"\u003e\n\n\u003cspan class=\"gvs1-comp-qty\"\u003e1\u003c\/span\u003e\u003cspan class=\"gvs1-comp-lbl\"\u003eBooklet 80 challenges + solutions\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n\n\n\u003cstyle\u003e\n.gvs1-wrap, .gvs1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.gvs1-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: #160a2a;\n}\n\n\/* ── INTESTAZIONE (senza copertina) ── *\/\n.gvs1-cover { position: relative; width: 100%; background: linear-gradient(150deg, #160a2a 0%, #241246 100%); border-bottom: 3px solid #93D14B; }\n.gvs1-cover-content { position: relative; z-index: 2; padding: 22px 26px 22px; width: 100%; }\n.gvs1-kicker { display: block; color: #93D14B; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }\n.gvs1-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.gvs1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.gvs1-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.gvs1-chip--pink { background: #E8559E; border-color: #E8559E; }\n\n\/* ── SPECS ── *\/\n.gvs1-specs-bar { background: #120820; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.gvs1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.gvs1-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.gvs1-spec:nth-child(3n) { border-right: none; }\n.gvs1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.gvs1-spec-icon { font-size: 1.2rem; }\n.gvs1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.gvs1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n\n\/* ── BODY ── *\/\n.gvs1-body { background: #ECE6F4; }\n\n\/* ── INTRO ── *\/\n.gvs1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.gvs1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #5E9B2E; margin-bottom: 7px; }\n.gvs1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1f1033; line-height: 1.15; margin-bottom: 16px; }\n.gvs1-p { font-family: sans-serif; font-size: 0.95rem; color: #3a2a4e; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n\n\/* ── BOX EDITORIALI ── *\/\n.gvs1-quote-solo { background: #241246; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #5E9B2E; }\n.gvs1-quote-solo--alt { background: #3a1240; border-left-color: #E8559E; }\n.gvs1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.gvs1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.gvs1-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.gvs1-divider { height: 1px; background: #cdbfe0; margin: 32px 28px 0; }\n\n\/* ── FROGSCORE ── *\/\n.gvs1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.gvs1-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.gvs1-fs-brand { display:flex; align-items:center; gap:9px; }\n.gvs1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.gvs1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.gvs1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.gvs1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.gvs1-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.gvs1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.gvs1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.gvs1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.gvs1-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.gvs1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.gvs1-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.gvs1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.gvs1-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.gvs1-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.gvs1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.gvs1-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.gvs1-fs-target span { font-size:14px; flex-shrink:0; }\n.gvs1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.gvs1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.gvs1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.gvs1-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.gvs1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.gvs1-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.gvs1-section-pad { padding: 32px 28px 8px; }\n.gvs1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.gvs1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #d8cce8; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.gvs1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.gvs1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.gvs1-card-name { font-size: 0.95rem; font-weight: 900; color: #5E9B2E; margin-bottom: 5px; }\n.gvs1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3a2a4e; line-height: 1.55; }\n\n\/* ── CLOSING ── *\/\n.gvs1-closing { background: #160a2a; padding: 26px 28px; border-top: 3px solid #E8559E; }\n.gvs1-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.gvs1-box-section { background: #ECE6F4; border-top: 1px solid #cdbfe0; }\n.gvs1-det { border-bottom: 1px solid #ded2ee; background: #fff; }\n.gvs1-det--last { border-bottom: none; }\n.gvs1-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.gvs1-det-sum::-webkit-details-marker { display: none; }\n.gvs1-det-sum::marker { display: none; }\n.gvs1-det[open] .gvs1-det-sum { background: #faf7fd; }\n.gvs1-det-sum:hover { background: #faf7fd; }\n.gvs1-det-left { display: flex; align-items: center; gap: 10px; }\n.gvs1-det-ico { font-size: 17px; flex-shrink: 0; }\n.gvs1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #1f1033; display: block; }\n.gvs1-det-sub { font-family: sans-serif; font-size: 11px; color: #9c8eb4; margin-top: 1px; display: block; }\n.gvs1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.gvs1-det-arr::before { content: \"\"; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #9c8eb4; border-bottom: 2px solid #9c8eb4; transform: translate(-50%,-70%) rotate(45deg); transition: transform .22s; }\n.gvs1-det[open] .gvs1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.gvs1-det-body { padding: 0 20px 16px; background: #fff; }\n\n.gvs1-comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:7px; padding-top:14px; }\n.gvs1-comp { display:flex; align-items:center; gap:8px; padding:8px 10px; background:#f4f0fa; border-radius:8px; border:1px solid #e2d8f0; }\n.gvs1-comp-qty { font-family:sans-serif; font-size:0.85rem; font-weight:800; color:#5E9B2E; min-width:26px; flex-shrink:0; }\n.gvs1-comp-lbl { font-family:sans-serif; font-size:0.78rem; color:#3a2a4e; line-height:1.3; }\n\n\/* ── RESPONSIVE ── *\/\n@media screen and (min-width: 600px) {\n  .gvs1-specs { grid-template-columns: repeat(6, 1fr); }\n  .gvs1-spec { border-bottom: none; }\n  .gvs1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .gvs1-spec:last-child { border-right: none; }\n  .gvs1-cards { grid-template-columns: repeat(2, 1fr); }\n  .gvs1-fs-body { grid-template-columns: 220px 1fr; }\n  .gvs1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .gvs1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .gvs1-cover-content { padding: 24px 36px 24px; }\n  .gvs1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .gvs1-cards { grid-template-columns: repeat(4, 1fr); }\n  .gvs1-divider { margin-left: 36px; margin-right: 36px; }\n  .gvs1-section-pad { padding: 36px 36px 8px; }\n  .gvs1-closing { padding: 28px 36px; }\n  .gvs1-fs-body { grid-template-columns: 260px 1fr; }\n  .gvs1-fs-radar-panel svg { max-width: 260px; }\n  .gvs1-comp-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }\n}\n\u003c\/style\u003e","brand":"Smart Games","offers":[{"title":"Default Title","offer_id":54179912679751,"sku":null,"price":24.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/Graveyard_Shift_00.webp?v=1781698759","url":"https:\/\/frogames.business\/en\/products\/smart-games-graveyard-shift","provider":"FroGames","version":"1.0","type":"link"}