1import{r as s,j as e,m as c,M as l,a4 as g}from"./index-yLHt_u4B.js";const y=[{title:"RPGs",desc:"Hundreds of hours of adventure await.",icon:"shield",iconColor:"text-primary"},{title:"Multiplayer",desc:"Casual fun with friends. No excuses.",icon:"group",iconColor:"text-accent"},{title:"Visual Novels",desc:"Stories that pull you in and don't let go.",icon:"auto_stories",iconColor:"text-accent-2"},{title:"Platformers",desc:"Play nostalgic retro games right in your browser.",icon:"stadia_controller",iconColor:"text-accent-3"},{title:"Local Co-op",desc:"Grab extra controllers and share the screen.",icon:"videogame_asset",iconColor:"text-accent"},{title:"Point & Click",desc:"Puzzles, mystery, and pixel-perfect worlds.",icon:"touch_app",iconColor:"text-accent-4"},{title:"Demos",desc:"Try before you buy â right in your browser.",icon:"play_circle",iconColor:"text-primary"}],v=()=>{const r=s.useRef(null),[m,a]=s.useState(!1),i=s.useRef(!1),d=s.useRef(0),u=s.useRef(0),x=t=>{var o;(o=r.current)==null||o.scrollBy({left:t==="left"?-320:320,behavior:"smooth"})},p=s.useCallback(t=>{var o,n;i.current=!0,d.current=t.pageX-(((o=r.current)==null?void 0:o.offsetLeft)??0),u.current=((n=r.current)==null?void 0:n.scrollLeft)??0,r.current&&(r.current.style.cursor="grabbing")},[]),h=s.useCallback(t=>{if(!i.current||!r.current)return;t.preventDefault();const n=(t.pageX-r.current.offsetLeft-d.current)*1.2;r.current.scrollLeft=u.current-n},[]),f=s.useCallback(()=>{i.current=!1,r.current&&(r.current.style.cursor="grab")},[]);return e.jsx("section",{className:"py-24 lg:py-32 overflow-x-clip",children:e.jsxs("div",{className:"container mx-auto px-6",children:[e.jsxs(c.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"flex items-center justify-between mb-8",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline gap-2 mb-1",children:[e.jsx("h2",{className:"font-display text-3xl sm:text-4xl font-bold",children:"We think you'll love these"}),e.jsxs("div",{className:"relative",onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[e.jsx(l,{name:"info",size:20,className:"text-muted-foreground cursor-help"}),e.jsx(g,{children:m&&e.jsx(c.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:4},transition:{duration:.15},className:"absolute left-1/2 -translate-x-1/2 top-full mt-2 whitespace-nowrap bg-card border border-border rounded-md px-3 py-2 text-xs text-muted-foreground shadow-lg z-10",children:"Our catalog is currently in development."})})]})]}),e.jsx("p",{className:"text-muted-foreground",children:"A curated selection from indie devs making games you'll actually love."})]}),e.jsxs("div",{className:"hidden sm:flex gap-2",children:[e.jsx("button",{onClick:()=>x("left"),className:"p-2 rounded-lg border border-border hover:bg-accent transition-colors flex items-center justify-center",children:e.jsx(l,{name:"chevron_left",size:20})}),e.jsx("button",{onClick:()=>x("right"),className:"p-2 rounded-lg border border-border hover:bg-accent transition-colors flex items-center justify-center",children:e.jsx(l,{name:"chevron_right",size:20})})]})]}),e.jsx("div",{ref:r,className:"flex gap-5 overflow-x-auto overflow-y-visible scrollbar-hide py-4 snap-x snap-proximity touch-pan-x cursor-grab select-none",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch",marginRight:"calc(-1 * (100vw - 100%) / 2)",paddingRight:"calc((100vw - 100%) / 2)"},onMouseDown:p,onMouseMove:h,onMouseUp:f,onMouseLeave:f,children:y.map((t,o)=>e.jsx(c.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:o*.08},className:"flex-shrink-0 w-56 snap-start group cursor-pointer",children:e.jsxs("div",{className:"relative aspect-[3/4] rounded-lg overflow-hidden border border-[#303132] bg-card flex flex-col items-center justify-center gap-4 p-6 transition-all duration-300 sm:group-hover:border-foreground
1/30 focus:outline-none active:outline-none",children:[e.jsx(l,{name:t.icon,size:48,className:`${t.iconColor} transition-colors duration-200`}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"font-display font-bold text-lg mb-1 text-foreground",children:t.title}),e.jsx("span",{className:"text-sm text-muted-foreground leading-snug",children:t.desc})]})]})},t.title))})]})})};export{v as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.