Add existing to tracked

This commit is contained in:
Jay
2026-08-11 09:53:42 -04:00
parent afe07f3055
commit ffd6e3d73c
8531 changed files with 4396230 additions and 0 deletions
Vendored
BIN
View File
Binary file not shown.
+251
View File
@@ -0,0 +1,251 @@
# Side Cards
Original playing-card artwork for The Grind, generated locally with Draw Things
and assembled into dependency-free game assets.
## Current workflow
This project deliberately uses a simple hybrid format:
- J/Q/K illustrations are matching PNG artwork generated by Draw Things.
- A-10, indices and suit marks are deterministic SVG geometry.
- Each finished court card is a standalone SVG with its PNG illustration
embedded inside it. It scales normally in the game without hand-tracing the
figure.
Generate the nine non-Heart courts, then assemble the full deck:
```sh
./tools/.venv/bin/python tools/render_court.py --remaining
./tools/.venv/bin/python tools/build_deck.py
./tools/.venv/bin/python tools/audit_deck.py
```
Open `gallery.html` to inspect all 52 cards and the card back. The temporary game at
`../index.html` also uses these local exports; it no longer fetches Wikimedia
assets.
## Folders
- `concepts/` — calibration sheet and approved Hearts studies
- `art/courts/raw/` — locally generated court illustrations
- `exports/cards/` — finished standalone SVG cards and card back
- `exports/art/` — cleaned raster artwork embedded by the SVG exports
- `assets/fonts/` — Roboto Slab source font and its Apache-2.0 license
- `masters/` — an archived vector-figure experiment; not the deck pipeline
## Final deck files
The authoritative finished deck is the **53 standalone SVG files in
`exports/cards/`**: 52 faces plus `back.svg`. Each file is self-contained; the
court and back raster artwork is embedded as a data URI. `exports/manifest.json`
is the machine-readable file list, and `gallery.html` is only the visual review
page. Files in `exports/art/`, `concepts/`, `art/courts/raw/`, and `masters/`
are sources or build intermediates, not files to ship as the deck.
Run `tools/build_deck.py` once after any design change. It deterministically
rebuilds all 53 final SVGs together, including removal of detached court-art
pixel islands. A printer-specific PDF or raster package still requires the
printer's requested size, bleed, colour profile, and resolution.
The generated court figures are final game artwork. Roboto Slab rank
indices are converted to vector paths; suit marks,
number-card layouts and assembly remain deterministic.
House style specification: [`masters/STYLE.md`](masters/STYLE.md).
Third-party notices for the vendored protocol files and the model checkpoint:
[`tools/proto/LICENSE-NOTICE.md`](tools/proto/LICENSE-NOTICE.md).
The provenance sidecars and license notice are quiet background records; they
are not part of the day-to-day art workflow.
## Calibration v1
`concepts/calibration-v1.png`
- SHA-256: `ff8a176c188c647532cd57df5c953f78af44e33c90ca2a536470b52dc02e780f`
- Generator: OpenAI built-in image generation
- Reference images supplied to generator: none
- Status: concept only, not a production asset
### Prompt
> Design a cohesive original Anglo-American-style playing card system with the
> clarity and familiarity of a premium traditional casino deck, but with
> entirely new court characters, poses, faces, garments, ornament, linework,
> suit symbols, and card back. Show the Jack, Queen, and King of Hearts; Ace and
> Ten of Spades; one Joker; and two alternate card backs. Use crisp flat
> vector-like illustration, precise black keylines, a restrained red, black,
> golden-yellow, and muted-blue palette, white card stock, mirrored court
> composition, and conventional corner indices. No trademarks, logos, brand
> names, recognizable branded artwork, photorealism, or watermarks.
### Evaluation
- Court figures form a coherent family and remain legible at reduced size.
- Both back concepts are usable directions; the navy back has stronger contrast.
- The ten has the correct number of central pips.
- Several rotated indices are malformed. Production indices must therefore be
vector typography, never baked into generated artwork.
- Court detail should be reduced slightly before final vector reconstruction.
## DrawThings court study v1
`concepts/dt-court-qh-v1.png`
- SHA-256: `e53fd536a35f45f97c431a76e2a61af39262faf5bfecd56cc2ebf0aaab7cb073`
- Generator: local Draw Things server, `qwen_image_2512_bf16_i8x.ckpt`
- Settings: 640x896, 30 steps, DPMPP2MTrailing, guidance 4.0, seed 7
- Reference images supplied to generator: none
- Status: concept only, not a production asset
Generated locally via `tools/dt_client.py` — no metered image API. This exists to
confirm the house style is reachable without OpenAI image generation.
### Evaluation
- Palette, keyline weight, and flat vector-like rendering match the calibration
sheet's direction closely enough to serve as the ongoing concept source.
- Mirrored two-way court composition resolved correctly.
- Carries no indices or text by design, which suits the production rule above:
suit symbols and indices are vector work, never generated.
- Cost is wall-clock, not money: ~7 minutes per 640x896 card at 30 steps.
## DrawThings court study v2 (img2img)
`concepts/dt-court-qh-v2.png`
- SHA-256: `455436aca85380a9f5e2a0c4fe5b1577249aa5d7835e1c01ea205825f680072e`
- Generator: local Draw Things server, `qwen_image_2512_bf16_i8x.ckpt`
- Settings: 640x896, 30 steps, DPMPP2MTrailing, guidance 4.0, seed 88,
img2img strength 0.68
- Reference image: the Queen of Hearts crop from `calibration-v1.png`, with the
two corner index strips painted white before encoding
- Model SHA-256: `b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354`
- Draw Things: `1.20260716.0`
- Status: concept only, not a production asset
v2 predates the provenance sidecars, so its prompts are recorded here in full.
> Original playing card court figure illustration, a queen wearing an ornate
> golden crown, crisp flat vector-like illustration, precise black keylines,
> restrained palette of red, black, golden-yellow and muted blue on white card
> stock, mirrored two-way composition, ornate patterned robes, holding a
> stylized flower, thin black double-line border frame, completely empty plain
> white corners, plain white background
Negative prompt:
> corner index, corner marking, letter Q, rank letter, suit index, heart symbol
> in corner, pip, text, letters, numbers, typography, watermark, signature,
> logo, photorealistic, photograph, 3d render, soft gradient shading, blurry,
> noisy, drop shadow, heavy solid black
### How this was reached
Four rounds of text-only prompting locked the style but oscillated on layout:
each composition fix over-corrected the previous one.
- Asking for a "premium traditional casino deck" reintroduced corner indices.
- "Generous white margin" shrank the figure until it floated in white.
- "Classic diamond lozenge silhouette" was drawn as a literal rhombus outline.
- "Robes flare to the card edges" pushed the robes outside the border frame.
Pinning the composition with img2img off the mockup solved this in one pass.
Style, palette, and keyline weight were already matched by round 2.
### Evaluation
- Composition, palette, and figure now track `calibration-v1.png` closely, with
cleaner and more consistent linework than the original sheet.
- Strength 0.55-0.72 preserves composition; 0.85 drifts and garbles the index.
- **Open issue:** the model re-draws a corner suit pip even when the reference
corners are blanked and pips are negative-prompted — it infers them from the
card context. In this render the pip lands *inside* the border frame, so it
cannot be removed by cropping to the panel. Removing it needs inpainting or a
mask, or the vector stage must cover that region.
## Court family test v3 (J/Q/K of Hearts)
`concepts/dt-court-jh-v3.png`, `dt-court-qh-v3.png`, `dt-court-kh-v3.png`
Each PNG has a JSON sidecar recording both prompts, the checkpoint SHA-256, the
Draw Things build, the reference hash, all sampler settings and the client
revision. Regenerate with `tools/render_court.py JH QH KH`.
- Model: `qwen_image_2512_bf16_i8x.ckpt`
SHA-256 `b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354`
- Draw Things: `1.20260716.0`
- Settings: 640x896, 30 steps, DPMPP2MTrailing, guidance 4.0, seed 88,
img2img strength 0.68, seed_mode ScaleAlike
- Reference: each card's cell from `calibration-v1.png` (cells measured by
background-gutter detection: all four are 329x460, ratio 0.715), resized to
640x896 with the two corner index strips painted white
- Status: approved Heart court artwork used by `tools/build_deck.py`
### Evaluation
- The three cards read as a coherent family: consistent linework, palette,
keyline weight and mirrored composition. The King's beard, crown and sword
resolved without trouble.
- Rank letters are absent, as intended; `build_deck.py` adds them reliably.
- The generated Heart marks are correct and align with the SVG suit overlay.
- Generated frame segments are locally inpainted out during assembly. One
continuous SVG inner frame is then drawn behind the figure, giving the court
the intentional traditional frame-break effect. The approved upper figure supplies both ends of the card by exact
180-degree rotation; a symmetric blended join avoids mismatched lower art.
- The temporary game has been verified at 110×154. No smallest production size
has been chosen, so this does not constrain the master artwork.
The house style specification derived from this test lives in
[`masters/STYLE.md`](masters/STYLE.md).
## Archived vector experiment — Queen of Hearts
`masters/queen-hearts.svg`
This was an experiment in hand-authoring the generated figure as SVG. It is not
used by `build_deck.py`; the practical deck keeps court illustrations as raster
art inside standalone SVG cards.
Editable groups: `frame`, `indices`, `veil`, `garments`, `ornament`, `props`,
`hair-back`, `face`, `hair-front`, `crown`, `keylines`. All colour lives in one
stylesheet block at the top; the rank glyph is drawn geometrically so it needs
no font at render time.
**Status: structurally correct, artistically unfinished.** The mirror, clip,
frame, indices, seam, palette and group organisation are all verified working.
The figure drawing is a schematic — the face is doll-like, the hair reads as
flat slabs, the robe silhouette is a lens rather than cloth, and the ornament is
far sparser than the concepts. It is a sound skeleton to refine, not a finished
master.
### Size behaviour
`tools/size_test.py ../masters/queen-hearts.svg` at 110/220/440/1050:
| 110px | 220px | 440px | 1050px |
|---|---|---|---|
| 0.189 | 0.119 | 0.053 | 0.022 |
It reads cleanly at all four sizes, so a single universal master works — but
only because the art is currently sparse. **Re-run this once real detail is
added**, since that is when the small-size question actually bites.
## Generation toolchain
`tools/` holds a local Draw Things gRPC client. Run `tools/setup.sh` once, then
drive it through `tools/dt_client.py`.
Notes that are not obvious from the Draw Things docs and cost real time to work
out — see also the `proto/` copies vendored from `drawthingsai/draw-things-community`:
- The app's API server speaks **TLS** on port 7859 and serves only a self-signed
leaf (`CN=localhost`, issuer "Draw Things Root CA"). The client pins that leaf.
- `ImageGenerationRequest.configuration` is a **FlatBuffers** blob
(`proto/config.fbs`), not protobuf. Fields are written by slot index in
declaration order; deprecated fields still consume their slot.
- `start_width` / `start_height` are in units of **64px**, so 640x896 is 10x14.
- Returned images are **not** PNG. They are s4nnc tensors: a 68-byte ccv header
(`CCV_16F`, NHWC, dims) followed by an fpzip stream, with pixel values in
[-1, 1]. `dt_client.decode_png` handles this.
+43
View File
@@ -0,0 +1,43 @@
{
"card": "JC",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 269.2,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/jc.png",
"output_sha256": "d989286c939fb133e2d147b7f64d5cb89e6df6b01c7d0fc203942477aceb9b46",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a young knave with shoulder-length hair holding an upright halberd, the club court, with rounded trefoil garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-jh-v3.png",
"source_sha256": "0ef1bcf56d23efa746cd2d1aef10028045767798159db6fc552bfe54b3f93c6d"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 281,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 797 KiB

+56
View File
@@ -0,0 +1,56 @@
{
"card": "JD",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 241.9,
"generated_at": "2026-08-04T16:36:45.221683-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/jd.png",
"output_sha256": "2b36aede9e2e728238ddbceb5233e08afeb8dfe01938063950038b9a6960457c",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a young knave with shoulder-length hair holding an upright halberd, the diamond court, with angular diamond-shaped garment ornament; red and gold are dominant with muted-blue accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"pip_boxes_blanked": [
[
112,
92,
240,
242
],
[
400,
654,
528,
804
]
],
"source": "concepts/dt-court-jh-v3.png",
"source_sha256": "0ef1bcf56d23efa746cd2d1aef10028045767798159db6fc552bfe54b3f93c6d"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 181,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 786 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "JS",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 265.7,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/js.png",
"output_sha256": "27ffda1cf24ddc6489b2264c49be81c2d5c84e04ed98455f534b5d331321b044",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a young knave with shoulder-length hair holding an upright halberd, the spade court, with elegant pointed garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-jh-v3.png",
"source_sha256": "0ef1bcf56d23efa746cd2d1aef10028045767798159db6fc552bfe54b3f93c6d"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 381,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 810 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "KC",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 286.3,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/kc.png",
"output_sha256": "20f416606fc514d5e5c65623efaaa2554fedf5f3a2a5046f0a7418cc07f7a006",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a mature bearded king wearing an ornate golden crown and holding an upright sword, the club court, with rounded trefoil garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-kh-v3.png",
"source_sha256": "c3235edb2fac18ea99f0f3e480dd27043be905f52316933fc722fafd83eb36e2"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 283,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "KD",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 227.1,
"generated_at": "2026-08-04T16:48:40.701838-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/kd.png",
"output_sha256": "15f7950ae06e9353d06e6b41676900ac4fb4f254aef14f85ca63ca51593029c4",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a mature bearded king wearing an ornate golden crown and holding an upright sword, the diamond court, with angular diamond-shaped garment ornament; red and gold are dominant with muted-blue accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-kh-v3.png",
"source_sha256": "c3235edb2fac18ea99f0f3e480dd27043be905f52316933fc722fafd83eb36e2"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 183,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 823 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "KS",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 274.2,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/ks.png",
"output_sha256": "1d9a2991c62fdab4ee88ad36eebbc37d09228bcaf17091a3847e1ff551a578eb",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a mature bearded king wearing an ornate golden crown and holding an upright sword, the spade court, with elegant pointed garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-kh-v3.png",
"source_sha256": "c3235edb2fac18ea99f0f3e480dd27043be905f52316933fc722fafd83eb36e2"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 383,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 821 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "QC",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 284.6,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/qc.png",
"output_sha256": "e6aff13ab94789251c77c049c9df651f4247c16dd39d714f14bc74bba4bdf6cb",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a regal queen wearing an ornate golden crown and holding a stylized flower, the club court, with rounded trefoil garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-qh-v3.png",
"source_sha256": "680f14c0a10ede6dc641eb48cd9ec6ccbfd47fca7646a20afddf7adac1fdf6f7"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 282,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

+56
View File
@@ -0,0 +1,56 @@
{
"card": "QD",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 209.9,
"generated_at": "2026-08-04T16:33:02.059117-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/qd.png",
"output_sha256": "e3189d1a0c4e283485579a24c2194454eda004f7aa67d21bccb26c4771801986",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a regal queen wearing an ornate golden crown and holding a stylized flower, the diamond court, with angular diamond-shaped garment ornament; red and gold are dominant with muted-blue accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"pip_boxes_blanked": [
[
112,
92,
240,
242
],
[
400,
654,
528,
804
]
],
"source": "concepts/dt-court-qh-v3.png",
"source_sha256": "680f14c0a10ede6dc641eb48cd9ec6ccbfd47fca7646a20afddf7adac1fdf6f7"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 182,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 764 KiB

+43
View File
@@ -0,0 +1,43 @@
{
"card": "QS",
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 275.5,
"generated_at": "2026-08-04T16:52:36.959064-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "rank letter, corner index, corner marking, suit symbol, heart symbol, diamond symbol, club symbol, spade symbol, pip, text, letters, numbers, typography, watermark, signature, logo, branded artwork, photorealistic, photograph, 3d render, soft gradient shading, blur, noise, drop shadow",
"output": "art/courts/raw/qs.png",
"output_sha256": "1c800e292cce1d39d6d300b195680f19c756d0031787b664601e3c708c44f47e",
"prompt": "original Anglo-American playing-card court illustration, crisp flat vector-like drawing, precise black keylines, restrained red, black, golden-yellow, muted-blue and warm-skin palette on white card stock, mirrored two-way composition, richly patterned robes, traditional but entirely original character design, clean white corners. Subject: a regal queen wearing an ornate golden crown and holding a stylized flower, the spade court, with elegant pointed garment ornament; black and muted blue are dominant with red and gold accents. Constraints: no rank, no text, no suit pips.",
"reference": {
"reference_heart_pips_painted_out": true,
"source": "concepts/dt-court-qh-v3.png",
"source_sha256": "680f14c0a10ede6dc641eb48cd9ec6ccbfd47fca7646a20afddf7adac1fdf6f7"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 382,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "game court artwork"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 790 KiB

@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

+67
View File
@@ -0,0 +1,67 @@
{
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 208.2,
"generated_at": "2026-08-04T13:40:52.068660-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "corner index, corner marking, rank letter, suit index, heart symbol in corner, pip, text, letters, numbers, typography, watermark, signature, logo, photorealistic, photograph, 3d render, soft gradient shading, blurry, noisy, drop shadow, heavy solid black",
"output": "dt-court-jh-v3.png",
"output_sha256": "0ef1bcf56d23efa746cd2d1aef10028045767798159db6fc552bfe54b3f93c6d",
"prompt": "Original playing card court figure illustration, a young knave with shoulder-length hair, holding an upright halberd, crisp flat vector-like illustration, precise black keylines, restrained palette of red, black, golden-yellow and muted blue on white card stock, mirrored two-way composition, ornate patterned robes, thin black double-line border frame, completely empty plain white corners, plain white background",
"rank": "JH",
"reference": {
"cell": [
66,
36,
395,
496
],
"index_strips_blanked": [
[
22,
26,
106,
266
],
[
534,
630,
618,
870
]
],
"reference_rgb_sha256": "b5d4007da9e2e90f3276bb5dca459371621b8653e09d7cdcf70c54c392709330",
"resized_to": [
640,
896
],
"source": "calibration-v1.png",
"source_sha256": "ff8a176c188c647532cd57df5c953f78af44e33c90ca2a536470b52dc02e780f"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 88,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "concept only, not a production asset"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

+67
View File
@@ -0,0 +1,67 @@
{
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 238.6,
"generated_at": "2026-08-04T13:40:52.068660-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "corner index, corner marking, rank letter, suit index, heart symbol in corner, pip, text, letters, numbers, typography, watermark, signature, logo, photorealistic, photograph, 3d render, soft gradient shading, blurry, noisy, drop shadow, heavy solid black",
"output": "dt-court-kh-v3.png",
"output_sha256": "c3235edb2fac18ea99f0f3e480dd27043be905f52316933fc722fafd83eb36e2",
"prompt": "Original playing card court figure illustration, a bearded king wearing an ornate golden crown, holding an upright sword, crisp flat vector-like illustration, precise black keylines, restrained palette of red, black, golden-yellow and muted blue on white card stock, mirrored two-way composition, ornate patterned robes, thin black double-line border frame, completely empty plain white corners, plain white background",
"rank": "KH",
"reference": {
"cell": [
780,
36,
1109,
496
],
"index_strips_blanked": [
[
22,
26,
106,
266
],
[
534,
630,
618,
870
]
],
"reference_rgb_sha256": "bc9c0a6ce50befe652c9b76830a4eb4289ee1638db9523ab3584b57f63f1f21f",
"resized_to": [
640,
896
],
"source": "calibration-v1.png",
"source_sha256": "ff8a176c188c647532cd57df5c953f78af44e33c90ca2a536470b52dc02e780f"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 88,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "concept only, not a production asset"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 831 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 KiB

+67
View File
@@ -0,0 +1,67 @@
{
"client_revision": "94a714a63866592b",
"drawthings_version": "1.20260716.0",
"elapsed_seconds": 231.5,
"generated_at": "2026-08-04T13:40:52.068660-04:00",
"generator": "Draw Things gRPC (local)",
"model_file": "qwen_image_2512_bf16_i8x.ckpt",
"model_hashes": {
"qwen_2.5_vl_7b_q8p.ckpt": {
"exists": true,
"sha256": "61c0fd689b7ae206f4c25303264ba958ac1c484563c6bdca10f9732e0dec7fc3"
},
"qwen_image_2512_bf16_i8x.ckpt": {
"exists": true,
"sha256": "b60a1430040108f8808ef20b47196b09526b1394f7438feeba5538bb89248354"
},
"qwen_image_vae_f16.ckpt": {
"exists": true,
"sha256": "701e7c46ed6c2fa8036543780317e06d264374f9b4dbfc22f27c0b3181bb988a"
}
},
"negative_prompt": "corner index, corner marking, rank letter, suit index, heart symbol in corner, pip, text, letters, numbers, typography, watermark, signature, logo, photorealistic, photograph, 3d render, soft gradient shading, blurry, noisy, drop shadow, heavy solid black",
"output": "dt-court-qh-v3.png",
"output_sha256": "680f14c0a10ede6dc641eb48cd9ec6ccbfd47fca7646a20afddf7adac1fdf6f7",
"prompt": "Original playing card court figure illustration, a queen wearing an ornate golden crown, holding a stylized flower, crisp flat vector-like illustration, precise black keylines, restrained palette of red, black, golden-yellow and muted blue on white card stock, mirrored two-way composition, ornate patterned robes, thin black double-line border frame, completely empty plain white corners, plain white background",
"rank": "QH",
"reference": {
"cell": [
421,
36,
750,
496
],
"index_strips_blanked": [
[
22,
26,
106,
266
],
[
534,
630,
618,
870
]
],
"reference_rgb_sha256": "09ac54c8f60312cee883f22c6dd0a1da9c3147ba6517e742ef03a1d44ddc4148",
"resized_to": [
640,
896
],
"source": "calibration-v1.png",
"source_sha256": "ff8a176c188c647532cd57df5c953f78af44e33c90ca2a536470b52dc02e780f"
},
"settings": {
"guidance_scale": 4.0,
"height": 896,
"sampler": "DPMPP2MTrailing",
"seed": 88,
"seed_mode": "ScaleAlike",
"steps": 30,
"strength": 0.68,
"width": 640
},
"status": "concept only, not a production asset"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 KiB

+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>10 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 105) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 105) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 200) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 270) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 270) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 430) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 430) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 500) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 595) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 595) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>10 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 105) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 105) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 200) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 270) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 270) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 430) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 430) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 500) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 595) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 595) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>10 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 105) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 105) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 200) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 270) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 270) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 430) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 430) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 500) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 595) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 595) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>10 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 105) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 105) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 200) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 270) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 270) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 430) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 430) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 500) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 595) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 595) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(6.9731 85.0000) scale(0.040904 -0.040904)"><path d="M77 0V164L318 194V1202H74V1359L590 1456V194L831 164V0Z" transform="translate(0 0)"/><path d="M590 -21Q365 -21 233.5 128.5Q102 278 102 564V891Q102 1177 233.0 1327.0Q364 1477 588 1477Q812 1477 943.5 1327.0Q1075 1177 1075 891V564Q1075 278 944.5 128.5Q814 -21 590 -21ZM590 188Q695 188 749.5 271.5Q804 355 804 534V923Q804 1100 748.5 1183.5Q693 1267 588 1267Q483 1267 428.0 1183.5Q373 1100 373 923V534Q373 355 428.5 271.5Q484 188 590 188Z" transform="translate(857 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>2 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 175) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 525) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>2 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 175) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 525) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>2 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 175) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 525) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>2 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 175) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 525) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.6511 85.0000) scale(0.043331 -0.043331)"><path d="M81 0V179L555 691Q666 817 708.0 895.5Q750 974 750 1050Q750 1141 697.5 1203.5Q645 1266 545 1266Q438 1266 382.0 1198.0Q326 1130 326 1009H62L60 1015Q57 1145 116.0 1249.5Q175 1354 286.0 1415.5Q397 1477 549 1477Q696 1477 802.0 1423.5Q908 1370 965.0 1275.0Q1022 1180 1022 1056Q1022 971 991.0 894.0Q960 817 895.5 732.5Q831 648 730 541L427 214L429 209H835L850 353H1064V0Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+41
View File
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>3 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 155) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 545) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+41
View File
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>3 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 155) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 545) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+41
View File
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>3 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 155) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 545) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+41
View File
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>3 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 155) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 545) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.9563 85.0000) scale(0.043331 -0.043331)"><path d="M549 -21Q411 -21 299.0 28.0Q187 77 122.0 169.5Q57 262 61 393L63 399H326Q326 306 385.5 247.0Q445 188 549 188Q655 188 716.0 247.5Q777 307 777 414Q777 523 718.0 581.5Q659 640 538 640H377V845H543Q653 845 704.0 901.5Q755 958 755 1055Q755 1155 702.0 1211.0Q649 1267 549 1267Q457 1267 399.5 1213.0Q342 1159 342 1072H79L77 1078Q73 1192 132.5 1282.5Q192 1373 299.5 1425.0Q407 1477 547 1477Q765 1477 896.0 1369.5Q1027 1262 1027 1064Q1027 965 970.5 881.5Q914 798 803 747Q926 704 987.5 614.5Q1049 525 1049 407Q1049 274 984.5 178.0Q920 82 807.0 30.5Q694 -21 549 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+42
View File
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>4 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 175) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 175) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 525) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 525) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

+42
View File
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>4 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 175) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 175) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 525) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 525) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

+42
View File
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>4 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 175) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 175) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 525) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 525) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

+42
View File
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>4 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 175) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 175) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 525) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 525) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(22.7253 85.0000) scale(0.043956 -0.043956)"><path d="M505 0V164L662 194V345H56L44 482L657 1456H933V531H1106V345H933V194L1090 164V0ZM304 531H662V1090L656 1092L633 1048Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>5 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 165) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 165) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 535) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 535) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>5 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 165) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 165) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 535) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 535) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>5 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 165) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 165) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 535) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 535) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>5 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 165) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 165) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 535) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 535) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.8272 85.0000) scale(0.043956 -0.043956)"><path d="M542 -21Q411 -21 303.5 27.5Q196 76 133.0 167.5Q70 259 73 387L75 392L334 403Q334 302 391.5 245.0Q449 188 542 188Q649 188 702.5 264.5Q756 341 756 464Q756 593 700.0 672.0Q644 751 537 751Q447 751 401.0 719.0Q355 687 335 631L96 648L180 1456H1004V1133H831L806 1234H405L363 883Q405 914 462.0 934.0Q519 954 588 955Q797 958 912.0 827.5Q1027 697 1027 466Q1027 325 971.0 215.0Q915 105 807.0 42.0Q699 -21 542 -21Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>6 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 145) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 145) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 555) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 555) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>6 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 145) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 145) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 555) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 555) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>6 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 145) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 145) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 555) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 555) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>6 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 145) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 145) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 555) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 555) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(22.1747 85.0000) scale(0.043331 -0.043331)"><path d="M612 -21Q461 -21 345.0 49.5Q229 120 163.0 252.0Q97 384 97 570V813Q97 1024 170.5 1172.5Q244 1321 374.0 1399.0Q504 1477 673 1477Q753 1477 823.5 1461.5Q894 1446 959 1416L911 1217Q858 1237 800.5 1250.5Q743 1264 679 1264Q533 1264 455.0 1164.5Q377 1065 375 870L379 865Q429 916 505.5 945.5Q582 975 674 975Q805 975 899.0 912.0Q993 849 1044.0 738.5Q1095 628 1095 487Q1095 339 1034.0 224.5Q973 110 864.0 44.5Q755 -21 612 -21ZM607 188Q707 188 765.0 275.5Q823 363 823 490Q823 613 762.5 691.0Q702 769 591 769Q517 769 459.0 740.5Q401 712 368 662V560Q368 381 434.5 284.5Q501 188 607 188Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>7 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 135) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 135) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 245) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 565) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 565) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>7 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 135) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 135) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 245) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 565) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 565) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>7 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 135) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 135) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 245) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 565) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 565) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>7 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 135) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 135) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 245) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 565) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 565) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.1868 85.0000) scale(0.043956 -0.043956)"><path d="M336 0 350 150Q386 476 500.0 745.0Q614 1014 812 1246H279L267 1097H55V1456H1074V1246Q954 1105 875.0 978.5Q796 852 747.0 725.5Q698 599 669.5 458.5Q641 318 622 150L608 0Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>8 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 125) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 125) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 235) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 465) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 575) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 575) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>8 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 125) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 125) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 235) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 465) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 575) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 575) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>8 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 125) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 125) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 235) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 465) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 575) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 575) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>8 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 125) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 125) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 235) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 465) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 575) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 575) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.5829 85.0000) scale(0.043331 -0.043331)"><path d="M565 -21Q344 -21 208.0 87.0Q72 195 72 397Q72 516 140.5 607.5Q209 699 327 747Q223 793 165.0 877.0Q107 961 107 1071Q107 1265 232.0 1371.0Q357 1477 563 1477Q767 1477 893.5 1371.0Q1020 1265 1020 1071Q1020 961 961.0 877.0Q902 793 799 747Q917 699 986.0 607.5Q1055 516 1055 397Q1055 195 919.0 87.0Q783 -21 565 -21ZM565 852Q649 852 698.5 908.5Q748 965 748 1060Q748 1152 697.0 1209.5Q646 1267 563 1267Q477 1267 428.5 1211.0Q380 1155 380 1060Q380 965 429.0 908.5Q478 852 565 852ZM565 188Q662 188 723.0 249.0Q784 310 784 414Q784 516 722.0 579.0Q660 642 563 642Q465 642 404.5 579.0Q344 516 344 414Q344 309 404.0 248.5Q464 188 565 188Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>9 of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 115) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 115) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 275) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 275) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 350) rotate(0) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 425) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 425) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(165 585) rotate(180) scale(1.43)"/>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(335 585) rotate(180) scale(1.43)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>9 of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 115) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 115) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 275) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 275) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 350) rotate(0) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 425) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 425) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(165 585) rotate(180) scale(1.75)"/>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(335 585) rotate(180) scale(1.75)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>9 of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 115) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 115) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 275) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 275) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 350) rotate(0) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 425) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 425) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(165 585) rotate(180) scale(1.28)"/>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(335 585) rotate(180) scale(1.28)"/>
</g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>9 of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips">
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 115) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 115) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 275) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 275) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 350) rotate(0) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 425) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 425) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(165 585) rotate(180) scale(1.5)"/>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(335 585) rotate(180) scale(1.5)"/>
</g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(23.8646 85.0000) scale(0.043331 -0.043331)"><path d="M503 -21Q427 -21 346.5 -6.0Q266 9 199 39L232 238Q356 188 493 188Q624 188 699.0 280.0Q774 372 776 567L774 586Q678 456 504 456Q306 456 186.5 589.0Q67 722 67 957Q67 1105 130.0 1223.0Q193 1341 301.5 1409.0Q410 1477 549 1477Q698 1477 810.0 1409.0Q922 1341 984.5 1211.5Q1047 1082 1047 896V592Q1047 395 978.0 258.0Q909 121 786.5 50.0Q664 -21 503 -21ZM554 657Q629 657 686.5 688.5Q744 720 776 772V928Q776 1094 716.5 1180.5Q657 1267 551 1267Q490 1267 442.0 1225.5Q394 1184 366.5 1114.0Q339 1044 339 957Q339 820 394.0 738.5Q449 657 554 657Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+37
View File
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>A of clubs</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips"><use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(250 350) rotate(0) scale(2.92)"/></g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-C" xlink:href="#suit-C" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+37
View File
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>A of diamonds</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips"><use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(250 350) rotate(0) scale(3.72)"/></g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-D" xlink:href="#suit-D" class="red" transform="translate(48 127) rotate(0) scale(0.92)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+37
View File
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>A of hearts</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips"><use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(250 350) rotate(0) scale(2.75)"/></g>
<g id="index-top" class="red">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="red">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-H" xlink:href="#suit-H" class="red" transform="translate(48 127) rotate(0) scale(0.71)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+37
View File
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 500 700" width="500" height="700" role="img">
<title>A of spades</title>
<style>
.stock{fill:#fcfcfa}.black{fill:#111;color:#111}.red{fill:#b51620;color:#b51620}
</style>
<defs>
<clipPath id="card-clip"><rect width="500" height="700" rx="24"/></clipPath>
<g id="suit-H"><path d="M0 36C-7 27-32 10-32-9C-32-27-11-38 0-19C11-38 32-27 32-9C32 10 7 27 0 36Z"/></g>
<g id="suit-D"><path d="M0-32L23 0L0 32L-23 0Z"/></g>
<g id="suit-C">
<circle cx="0" cy="-15" r="15"/>
<circle cx="-16.5" cy="6" r="15"/>
<circle cx="16.5" cy="6" r="15"/>
<circle cx="0" cy="-2" r="12"/>
<path d="M-7 8C-6 19-11 25-17 30H17C11 25 6 19 7 8Z"/>
</g>
<g id="suit-S">
<path d="M0-32C-8-18-31-7-27 10C-24 23-9 22-2 13C-2 24-8 29-14 34H14C8 29 2 24 2 13C9 22 24 23 27 10C31-7 8-18 0-32Z"/>
</g>
</defs>
<rect class="stock" width="500" height="700" rx="24"/>
<g id="pips"><use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(250 350) rotate(0) scale(3.2)"/></g>
<g id="index-top" class="black">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g>
<g id="index-bottom" transform="rotate(180 250 350)">
<g id="index-mirrored" class="black">
<g class="rank-outline" transform="translate(14.6813 85.0000) scale(0.043956 -0.043956)"><path d="M47 0V164L152 179L625 1456H896L1365 179L1469 164V0H990V164L1093 183L1022 397H495L424 183L526 164V0ZM562 602H955L776 1120L762 1162H756L741 1118Z" transform="translate(0 0)"/></g>
<use href="#suit-S" xlink:href="#suit-S" class="black" transform="translate(48 127) rotate(0) scale(0.78)"/>
</g></g>
<rect x="2" y="2" width="496" height="696" rx="22" fill="none" stroke="#b7b2aa" stroke-width="4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 728 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.6 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.6 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.4 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

+59
View File
@@ -0,0 +1,59 @@
{
"cards": [
"as.svg",
"2s.svg",
"3s.svg",
"4s.svg",
"5s.svg",
"6s.svg",
"7s.svg",
"8s.svg",
"9s.svg",
"10s.svg",
"js.svg",
"qs.svg",
"ks.svg",
"ah.svg",
"2h.svg",
"3h.svg",
"4h.svg",
"5h.svg",
"6h.svg",
"7h.svg",
"8h.svg",
"9h.svg",
"10h.svg",
"jh.svg",
"qh.svg",
"kh.svg",
"ad.svg",
"2d.svg",
"3d.svg",
"4d.svg",
"5d.svg",
"6d.svg",
"7d.svg",
"8d.svg",
"9d.svg",
"10d.svg",
"jd.svg",
"qd.svg",
"kd.svg",
"ac.svg",
"2c.svg",
"3c.svg",
"4c.svg",
"5c.svg",
"6c.svg",
"7c.svg",
"8c.svg",
"9c.svg",
"10c.svg",
"jc.svg",
"qc.svg",
"kc.svg"
],
"back": "back.svg",
"format": "standalone SVG; court SVGs contain embedded PNG artwork",
"count": 52
}
+66
View File
@@ -0,0 +1,66 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Side Cards — Full Deck</title>
<style>
:root { color-scheme: dark; font-family: Georgia, "Times New Roman", serif; }
* { box-sizing: border-box; }
body { margin: 0; padding: 28px; background: #083d24; color: #fff; }
header { max-width: 1100px; margin: 0 auto 26px; }
h1 { margin: 0 0 6px; font-size: clamp(24px, 4vw, 42px); }
p { margin: 0; color: #c9d8cf; }
main { max-width: 1500px; margin: auto; }
section { margin: 30px 0; }
h2 { margin: 0 0 14px; font-size: 18px; letter-spacing: .08em; }
.row { display: grid; grid-template-columns: repeat(13, minmax(72px, 1fr)); gap: 10px; }
.card { width: 100%; aspect-ratio: 5 / 7; border-radius: 4.8% / 3.4286%; box-shadow: 0 5px 14px #0008; display: block; }
.missing { background: #f8f6ef; color: #8b1d1d; display: grid; place-items: center; text-align: center; font: 700 12px/1.2 system-ui; }
@media (max-width: 1000px) { .row { grid-template-columns: repeat(7, 1fr); } }
@media (max-width: 600px) { body { padding: 16px; } .row { grid-template-columns: repeat(4, 1fr); } }
</style>
</head>
<body>
<header>
<h1>Side Cards</h1>
<p>The complete locally generated deck. Court illustrations are raster artwork inside consistent SVG cards.</p>
</header>
<main id="deck"></main>
<script>
const assetVersion = "20260805k";
const ranks = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"];
const suits = [
["s", "Spades"], ["h", "Hearts"], ["d", "Diamonds"], ["c", "Clubs"]
];
const deck = document.querySelector("#deck");
for (const [suit, name] of suits) {
const section = document.createElement("section");
section.innerHTML = `<h2>${name}</h2><div class="row"></div>`;
const row = section.querySelector(".row");
for (const rank of ranks) {
const img = new Image();
img.className = "card";
img.src = `exports/cards/${rank.toLowerCase()}${suit}.svg?v=${assetVersion}`;
img.alt = `${rank} of ${name}`;
img.onerror = () => {
const missing = document.createElement("div");
missing.className = "card missing";
missing.textContent = `${rank}${suit.toUpperCase()} not built`;
img.replaceWith(missing);
};
row.append(img);
}
deck.append(section);
}
const backSection = document.createElement("section");
backSection.innerHTML = '<h2>Card Back</h2><div class="row" id="back-row"></div>';
const back = new Image();
back.className = "card";
back.src = `exports/cards/back.svg?v=${assetVersion}`;
back.alt = "Navy Side Cards back";
backSection.querySelector("#back-row").append(back);
deck.append(backSection);
</script>
</body>
</html>
+121
View File
@@ -0,0 +1,121 @@
# Side Cards — art direction
The approved visual reference is the J/Q/K of Hearts family in `concepts/`.
Court figures are final raster illustrations generated locally with Draw Things;
they are not hand-traced. `tools/build_deck.py` embeds each illustration inside
a standalone SVG and adds dependable card geometry.
## Look
- Original Anglo-American court-card illustration
- Crisp flat fills with strong black keylines
- Traditional two-way composition
- Ornate garments without photorealistic lighting or 3D rendering
- Restrained red, black, gold, muted-blue and warm-skin palette
- No generated rank letters, typography, logos or watermarks
Approximate palette sampled from the approved family:
| Role | Colour |
|---|---|
| Stock | `#fcfcfa` |
| Keyline | `#0e0d0d` |
| Red | `#a21b1e` |
| Gold | `#b99a34` |
| Muted blue | `#354c58` |
| Skin | `#f0d2b6` |
These values guide generation; the raster art is not mechanically recoloured.
## Court family
| Rank | Figure | Prop |
|---|---|---|
| Jack | young knave, shoulder-length hair | upright halberd |
| Queen | crowned queen | stylized flower |
| King | mature bearded king, crowned | upright sword |
Diamonds emphasize angular red-and-gold ornament. Clubs and Spades emphasize
black and muted blue with red-and-gold accents. All twelve should feel related,
but they do not need identical faces or frames.
## Deterministic card elements
`tools/build_deck.py`, not the image model, owns:
- corner rank indices
- suit marks and number-card pip layouts
- one continuous inner court frame
- final 5:7 card geometry
- the outer card edge
The outer card and artwork clip use a 24-unit circular radius on the 500 x 700
viewBox, equivalent to approximately 3.05 mm on a 63.5 x 88.9 mm poker card.
The two-unit inset outline uses radius 22 so its curve remains concentric. The
gallery expresses the same circular curve as `4.8% / 3.4286%`; a single CSS
percentage would create an elliptical radius on a 5:7 element.
Rank indices use Roboto Slab SemiBold, converted to SVG outlines during the
build without synthetic horizontal distortion. This provides large, clear slab
forms without depending on an installed font. Roboto Slab is distributed under
Apache License 2.0; the local license copy is
`assets/fonts/RobotoSlab-Apache-2.0.txt`.
Rank outlines share a font baseline at y=85 and are sized from cap height,
rather than top-aligned or fitted around descenders. This lets Q retain its
natural tail and weight without a synthetic outline. Single ranks have a
63-unit width allowance so the naturally wide A/K reach full cap height; the
two-character `10` has 76 units so it also remains comparable.
Mini suits remain centred at y=127 and are optically scaled by silhouette
(S 0.78, H 0.71, D 0.92, C 0.78), rather than being forced to one geometric
scale. Their rendered footprints—not equal ink density—are checked as a group
during the deck audit so dense marks are not made visually undersized.
The Heart is a purpose-drawn, classic silhouette with a pronounced cleft,
distinct lobes, a near-square proportion, and a long sharp point. Number-card
field pips are likewise optically balanced by suit (S 1.50, H 1.28, D 1.75,
C 1.43).
Ace and court marks have their own role-specific optical scales so each Ace
carries comparable ink and the fuller Heart does not crowd a court figure.
The Club follows the familiar traditional card form rather than an equilateral
trefoil: equal lower lobes sit wider and lower than the top lobe, a smaller
central boss joins the three, and a short flared stem finishes the mark. Its
required symmetry is bilateral, not three-fold rotational symmetry.
Generated suit pips are replaced with the correct SVG suit mark. Generated
frame segments are locally inpainted out while the figure is extracted, then
one continuous SVG frame is drawn behind the figure. The approved upper figure
is rotated exactly 180 degrees for the lower end, with a symmetric blended join
through the centre.
The assembly step also normalizes the generated figure envelope around the
card centre using uniform scaling only: K♣/K♦ use 0.95 and K♥/K♠ use 0.97.
Jacks and Queens remain at native scale. The resulting painted areas stay
within roughly five percent without distorting faces or garments. Club and
Spade field emblems receive a five-pixel optical shift away from the figure;
their mirrored lower marks are derived from the same coordinates.
## Generation settings
- Model: `qwen_image_2512_bf16_i8x.ckpt`
- Working size: 640×896
- Sampler: DPMPP2MTrailing
- Steps: 30
- Guidance: 4.0
- img2img strength: 0.68
The corresponding Heart card is the composition/style reference for every
non-Heart court. Run `tools/render_court.py --remaining` to create missing
renders without overwriting existing ones.
## Output sizes
No smallest production size has been chosen. The SVG cards scale freely; court
illustrations remain 640×896 raster artwork inside them. If a future use needs
large-format print, upscale or regenerate the courts for that real requirement.
Do not build alternate thumbnail art until the game actually needs it.
`masters/queen-hearts.svg` is an archived hand-vector experiment and is not
part of the current deck pipeline.

Some files were not shown because too many files have changed in this diff Show More