@@ -14,6 +14,11 @@ const backgroundOptions = [
1414 { value : 'Techno 3' , label : 'Synthwave (Purple/Orange)' , colors : [ '#833ab4' , '#fd1d1d' , '#fcb045' ] } ,
1515 { value : 'Techno 4' , label : 'Industrial (Grey/Cyan)' , colors : [ '#2c3e50' , '#4ca1af' ] } ,
1616 { value : 'Techno 5' , label : 'Void (Dark Blue/Black)' , colors : [ '#000046' , '#1cb5e0' ] } ,
17+ { value : 'Techno 6' , label : 'Neon Hazard (Green/Dark)' , colors : [ '#39ff14' , '#222222' ] } ,
18+ { value : 'Techno 7' , label : 'Code Red (Red/Black)' , colors : [ '#8b0000' , '#000000' ] } ,
19+ { value : 'Techno 8' , label : 'Electric Blue (Blue/Deep Blue)' , colors : [ '#0066ff' , '#000033' ] } ,
20+ { value : 'Techno 9' , label : 'Digital Gold (Gold/Black)' , colors : [ '#ffd700' , '#1a1a1a' ] } ,
21+ { value : 'Techno 10' , label : 'Dark Matter (Purple/Black)' , colors : [ '#240046' , '#000000' ] } ,
1722] ;
1823
1924const TcgCardGeneratorPage = ( ) => {
@@ -33,7 +38,7 @@ const TcgCardGeneratorPage = () => {
3338
3439 // --- State ---
3540 const [ cardName , setCardName ] = useState ( 'Cyber Dragon' ) ;
36- const [ hp , setHp ] = useState ( '2500 ' ) ;
41+ const [ hp , setHp ] = useState ( '250 ' ) ;
3742 const [ background , setBackground ] = useState ( 'Techno 1' ) ;
3843 const [ image , setImage ] = useState ( null ) ;
3944
@@ -45,7 +50,7 @@ const TcgCardGeneratorPage = () => {
4550 'A mechanical dragon forged in the neon fires of the cybernetic underworld. It patrols the data streams, incinerating viruses with concentrated light.' ,
4651 ) ;
4752
48- const [ illustrator , setIllustrator ] = useState ( 'Fezcode AI ' ) ;
53+ const [ illustrator , setIllustrator ] = useState ( 'Fezcodex ' ) ;
4954
5055 // Derived state for card count/date (bottom right)
5156 const [ cardNumber , setCardNumber ] = useState ( '001' ) ;
@@ -264,19 +269,25 @@ const TcgCardGeneratorPage = () => {
264269 ctx . strokeRect ( 25 , currentY , labelWidth , 25 ) ;
265270
266271 ctx . fillStyle = color ;
267- ctx . font = 'bold 12px "Courier New ", monospace ' ;
272+ ctx . font = 'bold 12px "Arvo ", serif ' ;
268273 ctx . textAlign = 'center' ;
269274 ctx . fillText ( label , 25 + ( labelWidth / 2 ) , currentY + 17 ) ;
270275
271276 // Value Box
272277 ctx . fillStyle = 'rgba(255, 255, 255, 0.1)' ;
273278 ctx . fillRect ( 25 + labelWidth + 5 , currentY , logicalWidth - 55 - labelWidth , 25 ) ;
274279
275- ctx . fillStyle = '#fff' ;
276- ctx . font = 'bold 14px Arial, sans-serif' ;
280+ ctx . font = 'bold 14px "Arvo", serif' ;
277281 ctx . textAlign = 'left' ;
278- ctx . fillText ( value , 25 + labelWidth + 15 , currentY + 17 ) ;
279282
283+ // Contour
284+ ctx . strokeStyle = '#000' ;
285+ ctx . lineWidth = 3 ;
286+ ctx . strokeText ( value , 25 + labelWidth + 15 , currentY + 17 ) ;
287+
288+ // Fill
289+ ctx . fillStyle = color ;
290+ ctx . fillText ( value , 25 + labelWidth + 15 , currentY + 17 ) ;
280291 currentY += 35 ;
281292 } ;
282293
@@ -300,10 +311,9 @@ const TcgCardGeneratorPage = () => {
300311 ctx . strokeRect ( 25 , currentY , logicalWidth - 50 , 80 ) ;
301312
302313 ctx . fillStyle = '#ccc' ;
303- ctx . font = 'italic 12px Arial ' ;
314+ ctx . font = '12px "Arvo", serif ' ;
304315 ctx . textAlign = 'left' ;
305316 wrapText ( ctx , description , 35 , currentY + 20 , logicalWidth - 70 , 16 ) ;
306-
307317 // --- Footer ---
308318 const footerY = logicalHeight - 20 ;
309319
0 commit comments