1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91872,e=>{"use strict";var a=e.i(43476),l=e.i(71645),s=e.i(64965),r=e.i(47163);let t=s.default,c=["ironclad","silent","defect","regent","necrobinder","colorless"],i=["attack","skill","power"],o=["common","uncommon","rare","special"],n=["sly","doom","summon","sacrifice","exhaust","ethereal","retain","vulnerable","weak","poison"],d=["new-in-sts2","multiplayer","doom","sly"];function m({card:e}){let[s,t]=(0,l.useState)(e.imageUrl),[c,i]=(0,l.useState)(!1);return(0,a.jsxs)("div",{className:"group bg-gray-900 border border-gray-800 hover:border-gray-600 rounded-xl overflow-hidden transition-all hover:-translate-y-0.5",children:[(0,a.jsxs)("div",{className:"relative bg-gray-800 aspect-[3/4] flex items-center justify-center overflow-hidden",children:[s&&!c?(0,a.jsx)("img",{src:s,alt:e.name,className:"w-full h-full object-cover",loading:"lazy",onError:()=>{s!==e.imageUrlFallback&&e.imageUrlFallback?t(e.imageUrlFallback):i(!0)}}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center text-4xl font-bold opacity-20",style:{backgroundColor:r.CLASS_COLORS[e.class]+"33"},children:"attack"===e.type?"âï¸":"power"===e.type?"â¨":"ð¡ï¸"}),(0,a.jsx)("div",{className:"absolute top-2 left-2 w-7 h-7 rounded-full bg-gray-900/90 border border-gray-700 flex items-center justify-center text-xs font-bold text-amber-400",children:e.cost}),(0,a.jsx)("div",{className:"absolute top-2 right-2 w-2.5 h-2.5 rounded-full",style:{backgroundColor:r.RARITY_COLORS[e.rarity]},title:e.rarity})]}),(0,a.jsxs)("div",{className:"p-3",children:[(0,a.jsx)("div",{className:"flex items-start justify-between gap-1 mb-1",children:(0,a.jsx)("h3",{className:"text-sm font-semibold text-white leading-tight",children:e.name})}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-2",children:[(0,a.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded font-medium",style:{backgroundColor:r.CLASS_COLORS[e.class]+"33",color:r.CLASS_COLORS[e.class]},children:r.CLASS_LABELS[e.class].replace("The ","")}),(0,a.jsx)("span",{className:"text-xs text-gray-500 capitalize",children:e.type})]}),(0,a.jsx)("p",{className:"text-xs text-gray-400 leading-relaxed line-clamp-3",children:e.description}),e.keywords.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:e.keywords.slice(0,3).map(e=>(0,a.jsx)("span",{className:"text-xs bg-gray-800 text-gray-400 px-1.5 py-0.5 rounded capitalize",children:e},e))}),e.tags&&e.tags.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:e.tags.map(e=>(0,a.jsx)("span",{className:"text-xs bg-amber-500/20 text-amber-400 px-1.5 py-0.5 rounded border border-amber-500/30",children:"new-in-sts2"===e?"ð":"multiplayer"===e?"ð¥":"doom"===e?"ð":"sly"===e?"ð":e},e))})]})]})}let x={common:0,uncommon:1,rare:2,special:3};function p(){let[e,s]=(0,l.useState)(""),[p,g]=(0,l.useState)("all"),[u,y]=(0,l.useState)("all"),[h,b]=(0,l.useState)("all"),[f,j]=(0,l.useState)("all"),[N,v]=(0,l.useState)("all"),[w,C]=(0,l.useState)("name-asc"),S=(0,l.useMemo)(()=>t.filter(a=>("all"===p||a.class===p)&&("all"===u||a.type===u)&&("all"===h||a.rarity===h)&&("all"===f||!!a.keywords.includes(f))&&("all"===N||!!a.tags&&!!a.tags.includes(N))&&(!e||!!a.name.toLowerCase().includes(e.toLowerCase())||!!a.description.toLowerCase().includes(e.toLowerCase()))&&!0).sort((e,a)=>"name-asc"===w?e.name.localeCompare(a.name):"name-desc"===w?a.name.localeCompare(e.name):"rarity-asc"===w?x[e.rarity]-x[a.rarity]:"rarity-desc"===w?x[a.rarity]-x[e.rarity]:0),[e,p,u,h,f,N,w]),k=e=>(0,r.cn)("px-3 py-1.5 rounded-lg text-xs font-medium transition-colors border",e?"bg-amber-500 text-gray-900 border-amber-500":"bg-gray-900 text-gray-400 border-gray-700 hover:border-gray-500 hover:text-white");return(0,a.jsxs)("div",{className:"max-w-7xl mx-auto px-4 py-10",children:[(0,a.jsxs)("div",{className:"mb-8",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold text-white mb-2",children:"Slay the Spire 2 â Card Database"}),(0,a.jsxs)("p",{className:"text-gray-400",children:["All ",t.length," cards. Filter by class, type, rarity, or keyword."]})]}),(0,a.jsxs)("div",{className:"bg-gray-900 border border-gray-800 rounded-xl p-4 mb-8 space-y-4",children:[(0,a.jsx)("input",{type:"text",placeholder:"Search cards...",value:e,onCh
1ange:e=>s(e.target.value),className:"w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-2.5 text-sm text-white placeholder-gray-500 focus:outline-none focus:border-amber-500"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("button",{className:k("all"===p),onClick:()=>g("all"),children:"All Classes"}),c.map(e=>(0,a.jsx)("button",{className:(0,r.cn)("px-3 py-1.5 rounded-lg text-xs font-medium transition-colors border",p===e?"border-transparent text-gray-900":"bg-gray-900 text-gray-400 border-gray-700 hover:border-gray-500 hover:text-white"),style:p===e?{backgroundColor:r.CLASS_COLORS[e]}:{},onClick:()=>g(e),children:r.CLASS_LABELS[e].replace("The ","")},e))]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("button",{className:k("all"===u),onClick:()=>y("all"),children:"All Types"}),i.map(e=>(0,a.jsx)("button",{className:k(u===e),onClick:()=>y(e),children:e.charAt(0).toUpperCase()+e.slice(1)},e)),(0,a.jsx)("span",{className:"w-px bg-gray-700 mx-1"}),(0,a.jsx)("button",{className:k("all"===h),onClick:()=>b("all"),children:"All Rarities"}),o.map(e=>(0,a.jsx)("button",{className:k(h===e),onClick:()=>b(e),children:e.charAt(0).toUpperCase()+e.slice(1)},e))]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("button",{className:k("all"===f),onClick:()=>j("all"),children:"All Keywords"}),n.map(e=>(0,a.jsx)("button",{className:k(f===e),onClick:()=>j(e),children:e.charAt(0).toUpperCase()+e.slice(1)},e))]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("button",{className:k("all"===N),onClick:()=>v("all"),children:"All Tags"}),d.map(e=>(0,a.jsx)("button",{className:k(N===e),onClick:()=>v(e),children:"new-in-sts2"===e?"ð New in STS2":"multiplayer"===e?"ð¥ Multiplayer":"doom"===e?"ð Doom":"sly"===e?"ð Sly":e},e))]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4 flex-wrap gap-3",children:[(0,a.jsxs)("p",{className:"text-sm text-gray-500",children:["Showing ",(0,a.jsx)("span",{className:"text-white font-medium",children:S.length})," of ",t.length," cards"]}),(0,a.jsxs)("select",{value:w,onChange:e=>C(e.target.value),className:"bg-gray-900 border border-gray-700 rounded-lg px-3 py-1.5 text-xs text-gray-300 focus:outline-none focus:border-amber-500",children:[(0,a.jsx)("option",{value:"name-asc",children:"Name AâZ"}),(0,a.jsx)("option",{value:"name-desc",children:"Name ZâA"}),(0,a.jsx)("option",{value:"rarity-asc",children:"Rarity: Common first"}),(0,a.jsx)("option",{value:"rarity-desc",children:"Rarity: Rare first"})]})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-3",children:S.map(e=>(0,a.jsx)(m,{card:e},e.id))}),0===S.length&&(0,a.jsx)("div",{className:"text-center py-20 text-gray-500",children:"No cards match your filters."})]})}e.s(["default",()=>p])}]);
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.