/* ---- Profile frames and store card themes with their own pictures (#896). Desktop and phone (both pages load this file).
   looks.js frameArt adds lk-fa lk-fa-<art> to a framed profile picture (.lk-frame, gems.css) and cardArt adds lk-ct
   lk-ct-<art> to a themed store card (article.st-card.lk-card). The Gem Store's own pictures of an item (.gm-ring,
   .gm-card) pick the same art up from the item id their tile or detail carries (data-gem-item, data-gem-dv), or from
   the same classes. The rings and textures are pictures in /img/looks/: drawn as SVG by tools/dev/look-art.mjs, then turned into .webp
   by tools/dev/look-art-raster.mjs (a vector ring or card was redrawn path by path as it scrolled in, and the shelf
   stuttered). ---- */

/* ---- frames. The ring's picture is a square 1.39 times the profile picture, centred on it: its band starts at the
   picture's edge and is an eighth of the picture wide (10 px round a profile picture, 4 px round a list row's), with
   room beyond for what sticks out (a head, leaves, icicles). It takes no room, so a row keeps its layout. */
.lk-frame.lk-fa { position: relative; box-shadow: none; }
.gm-ring { position: relative; }
.lk-fa::before, .gm-ring::before { content: ''; position: absolute; inset: -19.6%; pointer-events: none; background: var(--fa, none) center / 100% 100% no-repeat; }
.ig-phead > .lk-frame.lk-fa, .ig-ring .lk-frame.lk-fa { margin: 12px; } /* room for the ring beside the profile picture */
.prof-head > .lk-frame.lk-fa, .gm-prof > .lk-frame.lk-fa { margin: 9px; }
/* each frame's picture; in the store the picture stands in for the plain colour ring (--c) */
.lk-fa-cork, [data-gem-item="frame_cork"] .gm-ring { --fa: url(/img/looks/frame-cork.webp); --c: transparent !important; }
.lk-fa-rope, [data-gem-item="frame_rope"] .gm-ring { --fa: url(/img/looks/frame-rope.webp); --c: transparent !important; }
.lk-fa-bamboo, [data-gem-item="frame_bamboo"] .gm-ring { --fa: url(/img/looks/frame-bamboo.webp); --c: transparent !important; }
.lk-fa-eggshell, [data-gem-item="frame_eggshell"] .gm-ring { --fa: url(/img/looks/frame-eggshell.webp); --c: transparent !important; }
.lk-fa-stones, [data-gem-item="frame_stones"] .gm-ring { --fa: url(/img/looks/frame-stones.webp); --c: transparent !important; }
.lk-fa-vine, [data-gem-item="frame_vine"] .gm-ring { --fa: url(/img/looks/frame-vine.webp); --c: transparent !important; }
.lk-fa-frost, [data-gem-item="frame_frost"] .gm-ring { --fa: url(/img/looks/frame-frost.webp); --c: transparent !important; }
.lk-fa-glass, [data-gem-item="frame_glass"] .gm-ring { --fa: url(/img/looks/frame-glass.webp); --c: transparent !important; }
.lk-fa-filigree, [data-gem-item="frame_filigree"] .gm-ring { --fa: url(/img/looks/frame-filigree.webp); --c: transparent !important; }
.lk-fa-python, [data-gem-item="frame_python"] .gm-ring { --fa: url(/img/looks/frame-python.webp); --c: transparent !important; }
/* Season 1 (autumn, Halloween) */
.lk-fa-web, [data-gem-item="frame_web"] .gm-ring { --fa: url(/img/looks/frame-web.webp); --c: transparent !important; }
.lk-fa-leaves, [data-gem-item="frame_leaves"] .gm-ring { --fa: url(/img/looks/frame-leaves.webp); --c: transparent !important; }
.lk-fa-candy, [data-gem-item="frame_candy"] .gm-ring { --fa: url(/img/looks/frame-candy.webp); --c: transparent !important; }
.lk-fa-bones, [data-gem-item="frame_bones"] .gm-ring { --fa: url(/img/looks/frame-bones.webp); --c: transparent !important; }
.lk-fa-lantern, [data-gem-item="frame_lantern"] .gm-ring { --fa: url(/img/looks/frame-lantern.webp); --c: transparent !important; }
.lk-fa-neon, [data-gem-item="frame_neon"] .gm-ring { --fa: url(/img/looks/frame-neon.webp); --c: transparent !important; }
/* Season 2 (winter, the Cooling Season) */
.lk-fa-lights, [data-gem-item="frame_lights"] .gm-ring { --fa: url(/img/looks/frame-lights.webp); --c: transparent !important; }
.lk-fa-cane, [data-gem-item="frame_cane"] .gm-ring { --fa: url(/img/looks/frame-cane.webp); --c: transparent !important; }
.lk-fa-wreath, [data-gem-item="frame_wreath"] .gm-ring { --fa: url(/img/looks/frame-wreath.webp); --c: transparent !important; }
.lk-fa-knit, [data-gem-item="frame_knit"] .gm-ring { --fa: url(/img/looks/frame-knit.webp); --c: transparent !important; }
.lk-fa-ginger, [data-gem-item="frame_ginger"] .gm-ring { --fa: url(/img/looks/frame-ginger.webp); --c: transparent !important; }
.lk-fa-aurora, [data-gem-item="frame_aurora"] .gm-ring { --fa: url(/img/looks/frame-aurora.webp); --c: transparent !important; }
/* Season 3 (Love Bites: February and March) */
.lk-fa-hearts, [data-gem-item="frame_hearts"] .gm-ring { --fa: url(/img/looks/frame-hearts.webp); --c: transparent !important; }
.lk-fa-clover, [data-gem-item="frame_clover"] .gm-ring { --fa: url(/img/looks/frame-clover.webp); --c: transparent !important; }
.lk-fa-beads, [data-gem-item="frame_beads"] .gm-ring { --fa: url(/img/looks/frame-beads.webp); --c: transparent !important; }
.lk-fa-roses, [data-gem-item="frame_roses"] .gm-ring { --fa: url(/img/looks/frame-roses.webp); --c: transparent !important; }
.lk-fa-lanternred, [data-gem-item="frame_lanternred"] .gm-ring { --fa: url(/img/looks/frame-lanternred.webp); --c: transparent !important; }
.lk-fa-ruby, [data-gem-item="frame_ruby"] .gm-ring { --fa: url(/img/looks/frame-ruby.webp); --c: transparent !important; }
/* Season 4 (Hatch Season: April and May) */
.lk-fa-daisy, [data-gem-item="frame_daisy"] .gm-ring { --fa: url(/img/looks/frame-daisy.webp); --c: transparent !important; }
.lk-fa-eggs, [data-gem-item="frame_eggs"] .gm-ring { --fa: url(/img/looks/frame-eggs.webp); --c: transparent !important; }
.lk-fa-honey, [data-gem-item="frame_honey"] .gm-ring { --fa: url(/img/looks/frame-honey.webp); --c: transparent !important; }
.lk-fa-blossom, [data-gem-item="frame_blossom"] .gm-ring { --fa: url(/img/looks/frame-blossom.webp); --c: transparent !important; }
.lk-fa-rain, [data-gem-item="frame_rain"] .gm-ring { --fa: url(/img/looks/frame-rain.webp); --c: transparent !important; }
.lk-fa-orchid, [data-gem-item="frame_orchid"] .gm-ring { --fa: url(/img/looks/frame-orchid.webp); --c: transparent !important; }
/* Season 5 (Summer Expo: June and July) */
.lk-fa-shells, [data-gem-item="frame_shells"] .gm-ring { --fa: url(/img/looks/frame-shells.webp); --c: transparent !important; }
.lk-fa-floatie, [data-gem-item="frame_floatie"] .gm-ring { --fa: url(/img/looks/frame-floatie.webp); --c: transparent !important; }
.lk-fa-tiki, [data-gem-item="frame_tiki"] .gm-ring { --fa: url(/img/looks/frame-tiki.webp); --c: transparent !important; }
.lk-fa-pixels, [data-gem-item="frame_pixels"] .gm-ring { --fa: url(/img/looks/frame-pixels.webp); --c: transparent !important; }
.lk-fa-sparkler, [data-gem-item="frame_sparkler"] .gm-ring { --fa: url(/img/looks/frame-sparkler.webp); --c: transparent !important; }
.lk-fa-galaxy, [data-gem-item="frame_galaxy"] .gm-ring { --fa: url(/img/looks/frame-galaxy.webp); --c: transparent !important; }
/* the Legendary frames (the first two, and each season's: neon, aurora, ruby, orchid, galaxy) catch the light: one soft glint going slowly round the band. Not on a list row's small ring, and
   it stands still under prefers-reduced-motion. The glint is a plain spot of light on a layer of its own, turned by a
   transform: under a mask (as it was first drawn) the browser rebuilt every layer of the page on each frame it moved. */
:is(.lk-fa-filigree, .lk-fa-python):not(.lk-sm)::after, :is(.lk-fa-neon, .lk-fa-aurora):not(.lk-sm)::after, :is(.lk-fa-ruby, .lk-fa-orchid, .lk-fa-galaxy):not(.lk-sm)::after,
:is([data-gem-item="frame_filigree"], [data-gem-item="frame_python"], [data-gem-item="frame_neon"], [data-gem-item="frame_aurora"]) .gm-ring::after,
:is([data-gem-item="frame_ruby"], [data-gem-item="frame_orchid"], [data-gem-item="frame_galaxy"]) .gm-ring::after {
  content: ''; position: absolute; inset: -19.6%; border-radius: 50%; pointer-events: none; will-change: transform;
  background: radial-gradient(circle at 50% 10%, rgba(255, 255, 255, .62) 0, rgba(255, 255, 255, .3) 4.5%, transparent 10%);
  animation: lk-glint 9s linear infinite; }
@keyframes lk-glint { to { transform: rotate(360deg); } }
/* on the Gem Store's shelf the glint stands still: turning inside a tile (clipped, and lifted on hover) it cost the
   desktop a quarter of every frame for as long as the store was open. It still turns on the detail, the pick and profiles. */
.gm-tile .gm-ring::after { animation: none; transform: rotate(38deg); }

/* ---- store card themes: each sets its palette (--ct-*) and its pictures (--ct-art, background layers); the card takes
   the palette as its own theme tokens, so the buttons, the tier chip and the project badges follow it. A light card
   is a shade quieter on a dark page, so it doesn't glare. */
article.st-card.lk-card.lk-ct {
  --paper: var(--ct-bg); --paper-2: var(--ct-bg-2); --paper-3: var(--ct-bg-2); --card: var(--ct-btn, var(--ct-bg)); --gp3: var(--ct-rule);
  --ink: var(--ct-ink); --ink-2: var(--ct-ink-2); --ink-3: var(--ct-ink-2); --rule: var(--ct-rule); --rule-2: var(--ct-rule); --moss: var(--ct-ac); --moss-2: var(--ct-ac);
  background: var(--ct-art, none), var(--ct-bg); color: var(--ct-ink); border: 1px solid var(--ct-rule); border-top: 3px solid var(--ct-ac);
}
article.st-card.lk-card.lk-ct .st-info b { color: var(--ct-ink); }
article.st-card.lk-card.lk-ct .st-info p, article.st-card.lk-card.lk-ct .st-info small { color: var(--ct-ink-2); }
article.st-card.lk-card.lk-ct .st-av { box-shadow: 0 0 0 2px var(--ct-bg), 0 0 0 3.5px var(--ct-ac); }
article.st-card.lk-card.lk-ct .st-tier { background: color-mix(in srgb, var(--ct-ac) 22%, transparent); color: var(--ct-ac-ink); }
article.st-card.lk-card.lk-ct .pj-badge { color: var(--ct-ink-2); }
article.st-card.lk-card.lk-ct .st-acts button { background: var(--ct-btn, var(--ct-bg)); border: 1px solid color-mix(in srgb, var(--ct-ink) 55%, transparent); color: var(--ct-ink); box-shadow: none; }
article.st-card.lk-card.lk-ct .st-acts button:hover { background: var(--ct-ink); border-color: var(--ct-ink); color: var(--ct-bg); }
article.st-card.lk-card.lk-ct .st-acts button.primary { background: var(--ct-ac); border-color: var(--ct-ac); color: var(--ct-on-ac); }
article.st-card.lk-card.lk-ct .st-acts button.primary:hover { background: color-mix(in srgb, var(--ct-ac) 86%, var(--ct-ink)); }
/* a project badge's tier colour, to suit the card and not the page */
:is(.lk-ct-sand, .lk-ct-journal, .lk-ct-specimen, .lk-ct-botanical, .lk-ct-marble, .lk-ct-candycorn, .lk-ct-autumn, .lk-ct-snowfall, .lk-ct-valentine, .lk-ct-gingham, .lk-ct-eggbasket, .lk-ct-seedpacket, .lk-ct-honeycomb, .lk-ct-beach, .lk-ct-icecream, .lk-ct-postcard) .t-silver { --tier: #6f7b88; }
:is(.lk-ct-sand, .lk-ct-journal, .lk-ct-specimen, .lk-ct-botanical, .lk-ct-marble, .lk-ct-candycorn, .lk-ct-autumn, .lk-ct-snowfall, .lk-ct-valentine, .lk-ct-gingham, .lk-ct-eggbasket, .lk-ct-seedpacket, .lk-ct-honeycomb, .lk-ct-beach, .lk-ct-icecream, .lk-ct-postcard) .t-mythic { --tier: #7d4fb8; }
:is(.lk-ct-moss, .lk-ct-walnut, .lk-ct-velvet, .lk-ct-chalk, .lk-ct-haunt, .lk-ct-potion, .lk-ct-harvest, .lk-ct-plaid, .lk-ct-giftwrap, .lk-ct-gingerbread, .lk-ct-cabin, .lk-ct-aurora, .lk-ct-shamrock, .lk-ct-chocolate, .lk-ct-mardigras, .lk-ct-lunar, .lk-ct-rubyvault, .lk-ct-rainyday, .lk-ct-jungle, .lk-ct-campfire, .lk-ct-arcade, .lk-ct-fireworks) .t-bronze { --tier: #dd9c6c; } :is(.lk-ct-moss, .lk-ct-walnut, .lk-ct-velvet, .lk-ct-chalk, .lk-ct-haunt, .lk-ct-potion, .lk-ct-harvest, .lk-ct-plaid, .lk-ct-giftwrap, .lk-ct-gingerbread, .lk-ct-cabin, .lk-ct-aurora, .lk-ct-shamrock, .lk-ct-chocolate, .lk-ct-mardigras, .lk-ct-lunar, .lk-ct-rubyvault, .lk-ct-rainyday, .lk-ct-jungle, .lk-ct-campfire, .lk-ct-arcade, .lk-ct-fireworks) .t-silver { --tier: #c2ccd6; }
:is(.lk-ct-moss, .lk-ct-walnut, .lk-ct-velvet, .lk-ct-chalk, .lk-ct-haunt, .lk-ct-potion, .lk-ct-harvest, .lk-ct-plaid, .lk-ct-giftwrap, .lk-ct-gingerbread, .lk-ct-cabin, .lk-ct-aurora, .lk-ct-shamrock, .lk-ct-chocolate, .lk-ct-mardigras, .lk-ct-lunar, .lk-ct-rubyvault, .lk-ct-rainyday, .lk-ct-jungle, .lk-ct-campfire, .lk-ct-arcade, .lk-ct-fireworks) .t-gold { --tier: #e6c452; } :is(.lk-ct-moss, .lk-ct-walnut, .lk-ct-velvet, .lk-ct-chalk, .lk-ct-haunt, .lk-ct-potion, .lk-ct-harvest, .lk-ct-plaid, .lk-ct-giftwrap, .lk-ct-gingerbread, .lk-ct-cabin, .lk-ct-aurora, .lk-ct-shamrock, .lk-ct-chocolate, .lk-ct-mardigras, .lk-ct-lunar, .lk-ct-rubyvault, .lk-ct-rainyday, .lk-ct-jungle, .lk-ct-campfire, .lk-ct-arcade, .lk-ct-fireworks) .t-mythic { --tier: #c8a8f0; }
/* the Gem Store's little card: the theme's pictures over the colours the store gives it */
.gm-card { background: var(--ct-art, none), var(--bg); }

/* desert sand: wind ripples, a low red sun, dunes and cacti along the bottom (in the card's bottom padding) */
.lk-ct-sand, :is([data-gem-item="card_sand"], [data-gem-dv="card_sand"]) .gm-card { --ct-bg: #f2d59b; --ct-bg-2: #e9c583; --ct-ink: #3a2410; --ct-ink-2: #5c4022; --ct-rule: #c99a58; --ct-ac: #b4481f; --ct-ac-ink: #8a3212; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-dunes.webp) left bottom / 260px 26px repeat-x, radial-gradient(circle at calc(100% - 36px) 4px, rgba(226, 104, 48, .36) 0 30px, rgba(226, 104, 48, .15) 30.5px 39px, transparent 39.5px), url(/img/looks/card-sand.webp) 0 0 / 240px 120px repeat; }
:root[data-theme="dark"] article.lk-ct-sand { --ct-bg: #e6c688; --ct-bg-2: #dab772; }
article.st-card.lk-ct-sand { padding-bottom: 30px; }

/* field journal: ruled paper, a red double margin, washi tape on the corner, a pencil sketch */
.lk-ct-journal, :is([data-gem-item="card_journal"], [data-gem-dv="card_journal"]) .gm-card { --ct-bg: #f7efd8; --ct-bg-2: #ece1c4; --ct-ink: #2a241a; --ct-ink-2: #564b39; --ct-rule: #c9bb98; --ct-ac: #2f6a3f; --ct-ac-ink: #2f6a3f; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-doodle.webp) right 8px top 42px / 96px auto no-repeat, linear-gradient(90deg, transparent 6px, rgba(206, 58, 48, .55) 6px 7.5px, transparent 7.5px 9.5px, rgba(206, 58, 48, .55) 9.5px 11px, transparent 11px), repeating-linear-gradient(180deg, transparent 0 19px, rgba(52, 110, 170, .26) 19px 20px); }
:root[data-theme="dark"] article.lk-ct-journal { --ct-bg: #eadfc2; --ct-bg-2: #ddd0ae; }
article.st-card.lk-ct-journal .st-info b { font-family: var(--serif); font-size: 16.5px; font-weight: 600; }
article.st-card.lk-ct-journal::after { content: ''; position: absolute; top: 8px; right: -18px; width: 70px; height: 18px; transform: rotate(38deg); pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(240, 160, 48, .88) 0 7px, rgba(250, 232, 180, .88) 7px 14px); box-shadow: 0 1px 2px rgba(60, 40, 10, .25); }

/* specimen label: manila, a double black rule, typewriter details, a red collection stamp */
.lk-ct-specimen, :is([data-gem-item="card_specimen"], [data-gem-dv="card_specimen"]) .gm-card { --ct-bg: #efdfae; --ct-bg-2: #e4d199; --ct-ink: #1e1a12; --ct-ink-2: #463d2a; --ct-rule: #2b251a; --ct-ac: #9a2b1e; --ct-ac-ink: #9a2b1e; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-stamp.webp) right 12px top 12px / 78px 78px no-repeat, radial-gradient(150% 130% at 50% 0%, transparent 55%, rgba(130, 96, 30, .22)); }
:root[data-theme="dark"] article.lk-ct-specimen { --ct-bg: #e2d09a; --ct-bg-2: #d5c188; }
article.st-card.lk-card.lk-ct-specimen { border-radius: 3px; border-top: 1px solid var(--ct-rule); box-shadow: inset 0 0 0 4px var(--ct-bg), inset 0 0 0 5.5px var(--ct-rule), inset 0 0 0 7px var(--ct-bg), inset 0 0 0 7.8px var(--ct-rule); }
article.st-card.lk-ct-specimen .st-info b { font-family: var(--serif); font-size: 16px; font-weight: 700; }
article.st-card.lk-ct-specimen .st-info p, article.st-card.lk-ct-specimen .st-info small { font-family: var(--mono); font-size: 11.5px; }
article.st-card.lk-ct-specimen .st-acts button { border-radius: 2px; }

/* botanical print: fern fronds in two greens, a ruled border inside the edge, an italic name */
.lk-ct-botanical, :is([data-gem-item="card_botanical"], [data-gem-dv="card_botanical"]) .gm-card { --ct-bg: #f6f2e0; --ct-bg-2: #e9e5cf; --ct-ink: #1c2a1a; --ct-ink-2: #40513a; --ct-rule: #9fb08a; --ct-ac: #3f7a2e; --ct-ac-ink: #2f6f2a; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-fern.webp) right -8px bottom -36px / auto 158px no-repeat, url(/img/looks/card-fern.webp) left -52px top -84px / auto 150px no-repeat; }
:root[data-theme="dark"] article.lk-ct-botanical { --ct-bg: #e8e3cc; --ct-bg-2: #dad4ba; }
article.st-card.lk-card.lk-ct-botanical { border-top: 1px solid var(--ct-rule); box-shadow: inset 0 0 0 5px var(--ct-bg), inset 0 0 0 6.5px #6f9a55; }
article.st-card.lk-ct-botanical .st-info b { font-family: var(--serif); font-style: italic; font-size: 17px; font-weight: 600; }

/* terrarium moss: deep forest green, a bank of cushion moss and toadstools along the bottom (in the card's bottom padding) */
.lk-ct-moss, :is([data-gem-item="card_moss"], [data-gem-dv="card_moss"]) .gm-card { --ct-bg: #17301c; --ct-bg-2: #21422a; --ct-btn: #1b3822; --ct-ink: #f1f5dc; --ct-ink-2: #c9d6ac; --ct-rule: #3f6a3a; --ct-ac: #b9d64a; --ct-ac-ink: #b9d64a; --ct-on-ac: #17301c;
  --ct-art: url(/img/looks/card-moss.webp) left bottom / 200px 26px repeat-x, radial-gradient(120% 90% at 85% 0%, rgba(150, 200, 80, .22), transparent 60%), radial-gradient(90% 80% at 0% 100%, rgba(0, 0, 0, .25), transparent 70%); }
article.st-card.lk-ct-moss { padding-bottom: 30px; }

/* walnut and brass: dark grain, a brass edge, a brass screw in every corner */
.lk-ct-walnut, :is([data-gem-item="card_walnut"], [data-gem-dv="card_walnut"]) .gm-card { --ct-bg: #4b2c1a; --ct-bg-2: #5c3823; --ct-btn: #40241a; --ct-ink: #fbeeda; --ct-ink-2: #e3ccae; --ct-rule: #7a5234; --ct-ac: #e0b45c; --ct-ac-ink: #e0b45c; --ct-on-ac: #2c1b10;
  --ct-art: url(/img/looks/card-screw.webp) left 4px top 4px / 11px 11px no-repeat, url(/img/looks/card-screw.webp) right 4px top 4px / 11px 11px no-repeat, url(/img/looks/card-screw.webp) left 4px bottom 4px / 11px 11px no-repeat, url(/img/looks/card-screw.webp) right 4px bottom 4px / 11px 11px no-repeat,
    linear-gradient(180deg, rgba(255, 230, 190, .1), transparent 40%, rgba(0, 0, 0, .24)), url(/img/looks/card-walnut.webp) 0 0 / 100% 100% no-repeat; }
article.st-card.lk-card.lk-ct-walnut { border: 2px solid #d2a650; }

/* gilded marble: white stone, grey veins and veins of gold, a gold edge, gold buttons */
.lk-ct-marble, :is([data-gem-item="card_marble"], [data-gem-dv="card_marble"]) .gm-card { --ct-bg: #f6f4ef; --ct-bg-2: #e9e6de; --ct-ink: #211f1b; --ct-ink-2: #4a4741; --ct-rule: #cdb67c; --ct-ac: #d9ae4a; --ct-ac-ink: #7a5a12; --ct-on-ac: #211f1b;
  --ct-art: url(/img/looks/card-marble.webp) 0 0 / 100% 100% no-repeat, radial-gradient(120% 100% at 20% 0%, rgba(255, 255, 255, .85), transparent 60%); }
:root[data-theme="dark"] article.lk-ct-marble { --ct-bg: #e8e5de; --ct-bg-2: #dbd7ce; }
article.st-card.lk-card.lk-ct-marble { border: 1px solid #c79c3a; border-top: 3px solid #d9ae4a; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(201, 158, 58, .8); }
article.st-card.lk-ct-marble .st-info b { font-family: var(--serif); font-size: 16.5px; font-weight: 600; }

/* midnight velvet (Legendary): deep violet nap under a scatter of gold stars, a gold border with a star in every
   corner, and a slow sheen that crosses the card (still under prefers-reduced-motion) */
.lk-ct-velvet, :is([data-gem-item="card_velvet"], [data-gem-dv="card_velvet"]) .gm-card { --ct-bg: #241238; --ct-bg-2: #32194c; --ct-btn: #2b1642; --ct-ink: #f6ebf7; --ct-ink-2: #d6c2dc; --ct-rule: #4d2f6a; --ct-ac: #e0b65a; --ct-ac-ink: #e0b65a; --ct-on-ac: #241238;
  --ct-art: url(/img/looks/card-star.webp) left 7px top 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) right 7px top 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) left 7px bottom 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) right 7px bottom 7px / 12px 12px no-repeat,
    url(/img/looks/card-stars.webp) 0 0 / 180px 110px repeat, linear-gradient(118deg, rgba(255, 255, 255, .1), transparent 36%, transparent 64%, rgba(0, 0, 0, .36)), repeating-linear-gradient(118deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px), radial-gradient(120% 130% at 28% 0%, #45206e, #241238 62%); }
article.st-card.lk-card.lk-ct-velvet { border: 1px solid #e0b65a; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(224, 182, 90, .8); }
article.st-card.lk-card.lk-ct-velvet .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #f2d48a; }
article.st-card.lk-ct-velvet::before, article.st-card.lk-ct-harvest::before, article.st-card.lk-ct-aurora::before, article.st-card.lk-ct-rubyvault::before, article.st-card.lk-ct-jungle::before, article.st-card.lk-ct-fireworks::before { content: ''; position: absolute; inset: 0; pointer-events: none; transform: translateX(-120%);
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .13) 50%, transparent 62%); animation: lk-sheen 8s ease-in-out infinite; }
@keyframes lk-sheen { 0%, 45% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }

/* ---- the season store cards (Season 1 autumn, Season 2 winter). A piece that sits in the top corner moves down with
   the words on a card that carries a banner (--ct-y), and the store's name stops short of it. Light words over a
   busy picture get a soft shadow. */
article.st-card.lk-card.lk-ct:has(> .st-banner) { --ct-y: 16px; }
article.st-card:is(.lk-ct-chalk, .lk-ct-haunt, .lk-ct-potion, .lk-ct-harvest, .lk-ct-plaid, .lk-ct-giftwrap, .lk-ct-gingerbread, .lk-ct-cabin, .lk-ct-aurora) .st-info :is(b, p, small) { text-shadow: 0 1px 2px rgba(0, 0, 0, .65), 0 0 6px rgba(0, 0, 0, .35); }

/* candy corn: cream with soft orange stripes, three kernels tumbling into the corner, a row of them along the bottom */
.lk-ct-candycorn, :is([data-gem-item="card_candycorn"], [data-gem-dv="card_candycorn"]) .gm-card { --ct-bg: #fff1cf; --ct-bg-2: #ffe2a6; --ct-ink: #3d220a; --ct-ink-2: #6a4418; --ct-rule: #f0b860; --ct-ac: #c8470d; --ct-ac-ink: #a23a0a; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-candyrow.webp) left bottom / 136px 24px repeat-x, url(/img/looks/card-candycorn.webp) right 3px top calc(2px + var(--ct-y, 0px)) / 66px auto no-repeat, repeating-linear-gradient(135deg, rgba(255, 150, 20, .14) 0 16px, transparent 16px 32px); }
:root[data-theme="dark"] article.lk-ct-candycorn { --ct-bg: #f5e3b8; --ct-bg-2: #ecd294; }
article.st-card.lk-ct-candycorn { padding-bottom: 32px; }
article.st-card.lk-ct-candycorn .st-info b { padding-right: 60px; }

/* autumn leaves: warm paper, maple and oak leaves blowing in from the corner, a drift of them along the bottom */
.lk-ct-autumn, :is([data-gem-item="card_autumn"], [data-gem-dv="card_autumn"]) .gm-card { --ct-bg: #f8e8c6; --ct-bg-2: #efd7a6; --ct-ink: #3a1f0c; --ct-ink-2: #6b4320; --ct-rule: #d9a55c; --ct-ac: #b93a14; --ct-ac-ink: #9c300f; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-leafpile.webp) left bottom / 240px 28px repeat-x, url(/img/looks/card-leaves.webp) right 0 top var(--ct-y, 0px) / 112px auto no-repeat, radial-gradient(120% 90% at 100% 0%, rgba(232, 120, 42, .2), transparent 60%); }
:root[data-theme="dark"] article.lk-ct-autumn { --ct-bg: #ecd9b0; --ct-bg-2: #e0c890; }
article.st-card.lk-ct-autumn { padding-bottom: 32px; }
article.st-card.lk-ct-autumn .st-info b { font-family: var(--serif); font-size: 16.5px; font-weight: 600; padding-right: 52px; }

/* chalkboard: green slate in a wooden edge, chalk doodles (a snake, the feeding ticks, an egg) over the chalk tray */
.lk-ct-chalk, :is([data-gem-item="card_chalk"], [data-gem-dv="card_chalk"]) .gm-card { --ct-bg: #24392f; --ct-bg-2: #2e473b; --ct-btn: #1e3028; --ct-ink: #f4f3ea; --ct-ink-2: #cfd8cb; --ct-rule: #4a6355; --ct-ac: #f4e27a; --ct-ac-ink: #f4e27a; --ct-on-ac: #24392f;
  --ct-art: url(/img/looks/card-chalktray.webp) left bottom / 280px 32px repeat-x, url(/img/looks/card-chalk.webp) right 8px top calc(8px + var(--ct-y, 0px)) / 124px auto no-repeat,
    radial-gradient(60% 50% at 30% 35%, rgba(255, 255, 255, .07), transparent 70%), radial-gradient(50% 60% at 80% 70%, rgba(255, 255, 255, .05), transparent 70%), linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .035) 40%, transparent 60%); }
article.st-card.lk-card.lk-ct-chalk, :is([data-gem-item="card_chalk"], [data-gem-dv="card_chalk"]) .gm-card, .gm-card.lk-ct-chalk { border: 3px solid #b47a3a; border-bottom-width: 0; }
article.st-card.lk-card.lk-ct-chalk { border-radius: 6px; padding-bottom: 38px; box-shadow: inset 0 0 0 1px #17251e, inset 0 2px 6px rgba(0, 0, 0, .35); }

/* haunted night: deep indigo, a pale full moon with bats across it, a bare tree, a leaning fence and headstones along the bottom */
.lk-ct-haunt, :is([data-gem-item="card_haunt"], [data-gem-dv="card_haunt"]) .gm-card { --ct-bg: #1b1a45; --ct-bg-2: #272560; --ct-btn: #15143a; --ct-ink: #f3f0ff; --ct-ink-2: #c9c4ec; --ct-rule: #3b3980; --ct-ac: #ff9d3c; --ct-ac-ink: #ffb060; --ct-on-ac: #1b1238;
  --ct-art: url(/img/looks/card-graveyard.webp) left bottom / 329px 40px repeat-x, url(/img/looks/card-moon.webp) right 0 top calc(-8px + var(--ct-y, 0px)) / 72px 72px no-repeat, url(/img/looks/card-bats.webp) right 70px top calc(4px + var(--ct-y, 0px)) / 84px 44px no-repeat,
    radial-gradient(70% 90% at 100% 0%, rgba(120, 110, 220, .4), transparent 70%), linear-gradient(0deg, rgba(132, 118, 236, .7), rgba(132, 118, 236, .2) 24%, transparent 48%); }
article.st-card.lk-ct-haunt { padding-bottom: 44px; }
article.st-card.lk-ct-haunt .st-info :is(b, p) { padding-right: 60px; }

/* witch's brew: near black, slime running down from the top edge, bubbles rising up the side from the cauldron along the bottom */
.lk-ct-potion, :is([data-gem-item="card_potion"], [data-gem-dv="card_potion"]) .gm-card { --ct-bg: #17111f; --ct-bg-2: #241a30; --ct-btn: #120d19; --ct-ink: #f0ffe9; --ct-ink-2: #bfe0b8; --ct-rule: #3a2a4d; --ct-ac: #6cf24a; --ct-ac-ink: #7df25c; --ct-on-ac: #10210c;
  --ct-art: url(/img/looks/card-brew.webp) left bottom / 200px 28px repeat-x, url(/img/looks/card-drips.webp) left top / 180px 18px repeat-x, url(/img/looks/card-bubbles.webp) right 6px bottom 20px / 78px auto no-repeat,
    radial-gradient(90% 70% at 70% 100%, rgba(90, 240, 70, .26), transparent 70%), radial-gradient(80% 70% at 0% 0%, rgba(120, 60, 180, .3), transparent 70%); }
article.st-card.lk-ct-potion { padding-bottom: 34px; padding-top: 20px; }
article.st-card.lk-ct-potion:has(> .st-banner) { padding-top: 30px; }

/* harvest moon (Legendary): a huge orange moon in a plum night over a pumpkin field with its scarecrow, a gold border with
   a gold pumpkin in every corner, and the slow sheen */
.lk-ct-harvest, :is([data-gem-item="card_harvest"], [data-gem-dv="card_harvest"]) .gm-card { --ct-bg: #2a1326; --ct-bg-2: #3a1a30; --ct-btn: #231022; --ct-ink: #fff1dc; --ct-ink-2: #e6c9a8; --ct-rule: #5c2f3c; --ct-ac: #f0b84a; --ct-ac-ink: #f0b84a; --ct-on-ac: #2a1326;
  --ct-art: url(/img/looks/card-gourd.webp) left 6px top 6px / 13px 13px no-repeat, url(/img/looks/card-gourd.webp) left 6px bottom 6px / 13px 13px no-repeat, url(/img/looks/card-gourd.webp) right 6px bottom 6px / 13px 13px no-repeat,
    url(/img/looks/card-pumpkins.webp) left bottom / 346px 42px repeat-x, url(/img/looks/card-harvestmoon.webp) right -16px top calc(-26px + var(--ct-y, 0px)) / 118px 118px no-repeat,
    linear-gradient(0deg, rgba(214, 90, 20, .5), rgba(214, 90, 20, .12) 34%, transparent 58%), radial-gradient(120% 130% at 90% 0%, #5a2140, #2a1326 62%); }
article.st-card.lk-card.lk-ct-harvest { border: 1px solid #f0b84a; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(240, 184, 74, .8); padding-bottom: 48px; }
article.st-card.lk-card.lk-ct-harvest .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #ffd98a; padding-right: 58px; }
article.st-card.lk-ct-harvest .st-info p { padding-right: 58px; }

/* red plaid: red and green tartan flannel with gold and white lines, a stitched hem */
.lk-ct-plaid, :is([data-gem-item="card_plaid"], [data-gem-dv="card_plaid"]) .gm-card { --ct-bg: #8a1b22; --ct-bg-2: #a3262c; --ct-btn: #6e141a; --ct-ink: #fff6e4; --ct-ink-2: #f6dcc6; --ct-rule: #b8474a; --ct-ac: #f4d06a; --ct-ac-ink: #f9dc8c; --ct-on-ac: #4a0f14;
  --ct-art: linear-gradient(180deg, rgba(40, 6, 10, .18), rgba(40, 6, 10, .34)), url(/img/looks/card-plaid.webp) 0 0 / 112px 112px repeat; }
article.st-card.lk-card.lk-ct-plaid, :is([data-gem-item="card_plaid"], [data-gem-dv="card_plaid"]) .gm-card, .gm-card.lk-ct-plaid { outline: 1.5px dashed rgba(255, 240, 210, .75); outline-offset: -6px; }
article.st-card.lk-card.lk-ct-plaid { border-color: #5a0f15; border-top-color: var(--ct-ac); }

/* snowfall: pale blue, soft falling snow, a drift along the bottom with a snowman and two small pines */
.lk-ct-snowfall, :is([data-gem-item="card_snowfall"], [data-gem-dv="card_snowfall"]) .gm-card { --ct-bg: #d9ecfa; --ct-bg-2: #c2def3; --ct-ink: #0f2d48; --ct-ink-2: #33526e; --ct-rule: #9fc4e2; --ct-ac: #1d6fb8; --ct-ac-ink: #175a96; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-drift.webp) left bottom / 260px 30px repeat-x, url(/img/looks/card-snow.webp) 0 0 / 170px 120px repeat, linear-gradient(180deg, rgba(120, 180, 232, .38), transparent 70%); }
:root[data-theme="dark"] article.lk-ct-snowfall { --ct-bg: #cbe1f1; --ct-bg-2: #b4d2e8; }
article.st-card.lk-ct-snowfall { padding-bottom: 34px; }

/* gift wrap: green paper printed with gold stars and baubles, a red satin ribbon across the corner tied in a bow */
.lk-ct-giftwrap, :is([data-gem-item="card_giftwrap"], [data-gem-dv="card_giftwrap"]) .gm-card { --ct-bg: #0f4f43; --ct-bg-2: #17685a; --ct-btn: #0c4238; --ct-ink: #f6fff4; --ct-ink-2: #c4e6d6; --ct-rule: #2f8a74; --ct-ac: #d42d3d; --ct-ac-ink: #f4d06a; --ct-on-ac: #ffffff;
  --ct-art: url(/img/looks/card-bow.webp) right top var(--ct-y, 0px) / 80px auto no-repeat, url(/img/looks/card-wrap.webp) 0 0 / 60px 60px repeat, linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 45%, rgba(0, 0, 0, .22)); }
article.st-card.lk-ct-giftwrap .st-info b { padding-right: 70px; } article.st-card.lk-ct-giftwrap .st-info p { padding-right: 42px; }

/* gingerbread: baked brown piped with white icing, a gingerbread man in the corner, a row of gumdrops along the bottom */
.lk-ct-gingerbread, :is([data-gem-item="card_gingerbread"], [data-gem-dv="card_gingerbread"]) .gm-card { --ct-bg: #7a4220; --ct-bg-2: #8c5028; --ct-btn: #693618; --ct-ink: #fff8ec; --ct-ink-2: #f3dcc0; --ct-rule: #a9683a; --ct-ac: #fff3e0; --ct-ac-ink: #ffe2b8; --ct-on-ac: #5a2d12;
  --ct-art: url(/img/looks/card-gumdrops.webp) left 2px bottom 2px / 120px 22px repeat-x, url(/img/looks/card-gingerman.webp) right 13px top calc(12px + var(--ct-y, 0px)) / 46px auto no-repeat,
    url(/img/looks/card-icing.webp) left top 3px / 24px 9px repeat-x, url(/img/looks/card-icingv.webp) left 3px top / 9px 24px repeat-y, url(/img/looks/card-icingv.webp) right 3px top / 9px 24px repeat-y,
    radial-gradient(120% 100% at 30% 0%, rgba(255, 190, 120, .22), transparent 60%), radial-gradient(100% 90% at 100% 100%, rgba(40, 14, 0, .3), transparent 70%); }
article.st-card.lk-card.lk-ct-gingerbread { border-color: #4a2410; border-top: 1px solid #4a2410; padding-bottom: 32px; }
article.st-card.lk-ct-gingerbread .st-info :is(b, p) { padding-right: 52px; }

/* log cabin: dark round logs, a lit window with snow on its sill, its glow on the wall, snow drifted along the bottom */
.lk-ct-cabin, :is([data-gem-item="card_cabin"], [data-gem-dv="card_cabin"]) .gm-card { --ct-bg: #3a2110; --ct-bg-2: #4a2c16; --ct-btn: #2e1a0c; --ct-ink: #fff3dd; --ct-ink-2: #e8cfa8; --ct-rule: #6b4424; --ct-ac: #ffb83d; --ct-ac-ink: #ffc45c; --ct-on-ac: #2e1a0c;
  --ct-art: url(/img/looks/card-snowbank.webp) left bottom / 200px 16px repeat-x, url(/img/looks/card-cabinwindow.webp) right 9px top calc(6px + var(--ct-y, 0px)) / 62px auto no-repeat,
    radial-gradient(circle at calc(100% - 40px) calc(38px + var(--ct-y, 0px)), rgba(255, 190, 70, .62), rgba(255, 170, 50, .2) 80px, transparent 150px), linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .3)), url(/img/looks/card-logs.webp) 0 0 / 240px 48px repeat; }
article.st-card.lk-card.lk-ct-cabin { border-color: #1c0d05; border-top-color: var(--ct-ac); padding-bottom: 26px; }
article.st-card.lk-ct-cabin .st-info :is(b, p) { padding-right: 66px; }

/* northern lights (Legendary): green, teal and violet curtains over a starry night and snowy pines, an ice border with
   an ice crystal in every corner, and the slow sheen */
.lk-ct-aurora, :is([data-gem-item="card_aurora"], [data-gem-dv="card_aurora"]) .gm-card { --ct-bg: #0b1533; --ct-bg-2: #13214a; --ct-btn: #0a122b; --ct-ink: #f1f8ff; --ct-ink-2: #c3d6ec; --ct-rule: #2c3f70; --ct-ac: #63f2c0; --ct-ac-ink: #7cf5cf; --ct-on-ac: #06231f;
  --ct-art: url(/img/looks/card-ice.webp) left 6px top 6px / 13px 13px no-repeat, url(/img/looks/card-ice.webp) right 6px top 6px / 13px 13px no-repeat, url(/img/looks/card-ice.webp) left 6px bottom 6px / 13px 13px no-repeat, url(/img/looks/card-ice.webp) right 6px bottom 6px / 13px 13px no-repeat,
    url(/img/looks/card-pines.webp) left bottom / 260px 36px repeat-x, linear-gradient(90deg, rgba(11, 21, 51, .6), rgba(11, 21, 51, .34) 55%, rgba(11, 21, 51, 0) 92%), url(/img/looks/card-aurora.webp) 0 0 / 100% 78% no-repeat, url(/img/looks/card-nightsky.webp) 0 0 / 170px 110px repeat, linear-gradient(180deg, #0b1533 30%, #173a5c); }
article.st-card.lk-card.lk-ct-aurora { border: 1px solid #cfeaf8; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(190, 232, 250, .75); padding-bottom: 42px; }
article.st-card.lk-card.lk-ct-aurora .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #d6fff0; }

/* ---- the 2027 season store cards (#989: Season 3 Love Bites, Season 4 Hatch Season, Season 5 Summer Expo). On the Gem
   Store's little card a corner piece is drawn smaller (--ct-s) and the name stops short of it there as on the real
   card (--ct-pr, and --ct-pr2 for the tagline); what hangs from the top edge hangs below a Pro card's banner (--ct-t). */
.gm-card { --ct-s: .6; } .gm-card.big { --ct-s: .85; }
:where(article.st-card.lk-ct) .st-info b, .gm-card b { padding-right: calc(var(--ct-pr, 0px) * var(--ct-s, 1)); }
:where(article.st-card.lk-ct) .st-info p { padding-right: var(--ct-pr2, 0px); } .gm-card small { padding-right: calc(var(--ct-pr2, 0px) * var(--ct-s, 1)); }
article.st-card.lk-card.lk-ct:has(> .st-banner) { --ct-t: 24px; }
article.st-card:is(.lk-ct-shamrock, .lk-ct-chocolate, .lk-ct-mardigras, .lk-ct-lunar, .lk-ct-rubyvault, .lk-ct-rainyday, .lk-ct-jungle, .lk-ct-campfire, .lk-ct-arcade, .lk-ct-fireworks) .st-info :is(b, p, small) { text-shadow: 0 1px 2px rgba(0, 0, 0, .65), 0 0 6px rgba(0, 0, 0, .35); }
article.st-card:is(.lk-ct-mardigras, .lk-ct-honeycomb, .lk-ct-icecream) { padding-top: 26px; } article.st-card:is(.lk-ct-mardigras, .lk-ct-honeycomb, .lk-ct-icecream):has(> .st-banner) { padding-top: 44px; }

/* love letter: cream paper printed with pink hearts, a red wax seal pressed with a heart, an airmail edge along the bottom */
.lk-ct-valentine, :is([data-gem-item="card_valentine"], [data-gem-dv="card_valentine"]) .gm-card { --ct-bg: #fff3ea; --ct-bg-2: #ffe1dc; --ct-ink: #4a1524; --ct-ink-2: #7a3348; --ct-rule: #f0a8b4; --ct-ac: #c8234a; --ct-ac-ink: #a81c3e; --ct-on-ac: #ffffff; --ct-pr: 50px; --ct-pr2: 46px;
  --ct-art: url(/img/looks/card-waxseal.webp) right 8px top calc(8px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(50px * var(--ct-s, 1)) auto no-repeat, repeating-linear-gradient(135deg, #e0364f 0 9px, transparent 9px 18px, #f08aa2 18px 27px, transparent 27px 36px) left bottom / 100% 6px no-repeat,
    url(/img/looks/card-hearts.webp) 0 0 / 72px 60px repeat, radial-gradient(120% 90% at 100% 0%, rgba(255, 140, 160, .24), transparent 60%); }
:root[data-theme="dark"] article.lk-ct-valentine { --ct-bg: #f6e4d8; --ct-bg-2: #efd0c8; }
article.st-card.lk-ct-valentine { padding-bottom: 20px; }
article.st-card.lk-ct-valentine .st-info b { font-family: var(--serif); font-style: italic; font-size: 17px; font-weight: 600; }

/* lucky shamrock: fresh green printed with shamrocks, a pot of gold in the corner, coins and shamrocks along the bottom */
.lk-ct-shamrock, :is([data-gem-item="card_shamrock"], [data-gem-dv="card_shamrock"]) .gm-card { --ct-bg: #14622c; --ct-bg-2: #1c7a38; --ct-btn: #0f5024; --ct-ink: #ffffff; --ct-ink-2: #d4f0c8; --ct-rule: #3a9a50; --ct-ac: #f4c542; --ct-ac-ink: #f7d566; --ct-on-ac: #1c3a10; --ct-pr: 60px; --ct-pr2: 54px;
  --ct-art: url(/img/looks/card-luckrow.webp) left bottom 3px / 150px 20px repeat-x, url(/img/looks/card-potofgold.webp) right 8px top calc(6px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(56px * var(--ct-s, 1)) auto no-repeat,
    url(/img/looks/card-clover.webp) 0 0 / 84px 72px repeat, radial-gradient(120% 100% at 20% 0%, rgba(120, 230, 120, .3), transparent 60%), linear-gradient(180deg, transparent 55%, rgba(0, 40, 10, .4)); }
article.st-card.lk-ct-shamrock { padding-bottom: 30px; }

/* chocolate box: dark chocolate, a pink satin ribbon down the side tied in a bow, a row of chocolates in gold cups along the bottom */
.lk-ct-chocolate, :is([data-gem-item="card_chocolate"], [data-gem-dv="card_chocolate"]) .gm-card { --ct-bg: #3b1f14; --ct-bg-2: #4c2a1c; --ct-btn: #2e170e; --ct-ink: #fff3e6; --ct-ink-2: #ecd0b8; --ct-rule: #6a4030; --ct-ac: #ff8fb0; --ct-ac-ink: #ff9dba; --ct-on-ac: #3b1020; --ct-pr: 66px; --ct-pr2: 52px;
  --ct-art: url(/img/looks/card-pinkbow.webp) right calc(34px - 32px * var(--ct-s, 1)) top calc(5px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(64px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-bonbons.webp) left bottom 3px / 174px 30px repeat-x,
    linear-gradient(90deg, transparent calc(100% - 42px), #c83a70 calc(100% - 42px), #ff8fb0 calc(100% - 38px), #ffc0d2 calc(100% - 34px), #ff8fb0 calc(100% - 30px), #c83a70 calc(100% - 26px), transparent calc(100% - 26px)),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .2) 0 1px, rgba(255, 210, 170, .07) 1px 2px, transparent 2px 46px), repeating-linear-gradient(0deg, rgba(0, 0, 0, .2) 0 1px, rgba(255, 210, 170, .07) 1px 2px, transparent 2px 32px), radial-gradient(120% 100% at 20% 0%, rgba(200, 120, 70, .32), transparent 60%); }
article.st-card.lk-card.lk-ct-chocolate { border-color: #1c0c06; border-top-color: var(--ct-ac); padding-bottom: 40px; }

/* Mardi Gras: purple with harlequin diamonds in green and gold, strings of beads swagged along the top, a gold mask with feathers */
.lk-ct-mardigras, :is([data-gem-item="card_mardigras"], [data-gem-dv="card_mardigras"]) .gm-card { --ct-bg: #3a1466; --ct-bg-2: #4a1c80; --ct-btn: #2c0e50; --ct-ink: #fdf6ff; --ct-ink-2: #dcc8f0; --ct-rule: #6a3aa0; --ct-ac: #f6c945; --ct-ac-ink: #f9d667; --ct-on-ac: #2a0d4a; --ct-pr: 74px; --ct-pr2: 70px;
  --ct-art: url(/img/looks/card-beads.webp) left top var(--ct-t, 0px) / calc(120px * var(--ct-s, 1)) calc(24px * var(--ct-s, 1)) repeat-x, url(/img/looks/card-mask.webp) right 8px top calc(24px * var(--ct-s, 1) + var(--ct-t, 0px)) / calc(68px * var(--ct-s, 1)) auto no-repeat,
    linear-gradient(90deg, rgba(58, 20, 102, .75), rgba(58, 20, 102, .5) 55%, rgba(58, 20, 102, 0) 95%), url(/img/looks/card-harlequin.webp) 0 0 / 96px 72px repeat, radial-gradient(120% 100% at 80% 0%, rgba(160, 90, 255, .35), transparent 65%); }

/* Lunar New Year: lucky red with gold cloud scrolls, two lit lanterns hanging in the corner, a plum branch in blossom along the bottom */
.lk-ct-lunar, :is([data-gem-item="card_lunar"], [data-gem-dv="card_lunar"]) .gm-card { --ct-bg: #9a1220; --ct-bg-2: #b01a28; --ct-btn: #7e0c18; --ct-ink: #fff6dc; --ct-ink-2: #ffdcb0; --ct-rule: #c84a3a; --ct-ac: #f6c644; --ct-ac-ink: #ffd76a; --ct-on-ac: #5a0a10; --ct-pr: 74px; --ct-pr2: 66px;
  --ct-art: url(/img/looks/card-lanterns.webp) right 6px top var(--ct-t, 0px) / calc(76px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-blossomrow.webp) left bottom 3px / 240px 32px repeat-x,
    url(/img/looks/card-clouds.webp) 0 0 / 128px 84px repeat, radial-gradient(120% 100% at 85% 0%, rgba(255, 130, 60, .32), transparent 60%), linear-gradient(180deg, transparent 50%, rgba(60, 0, 10, .4)); }
article.st-card.lk-card.lk-ct-lunar { border: 1px solid #f6c644; border-top: 3px solid #f6c644; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(246, 198, 68, .7); padding-bottom: 40px; }
article.st-card.lk-ct-lunar .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; }

/* ruby vault (Legendary): crimson velvet strewn with cut stones, one great heart-cut ruby, a heap of gems and coins along the
   bottom, a gold border with a heart-cut ruby in every corner, and the slow sheen */
.lk-ct-rubyvault, :is([data-gem-item="card_rubyvault"], [data-gem-dv="card_rubyvault"]) .gm-card { --ct-bg: #4a0a1c; --ct-bg-2: #5e1026; --ct-btn: #3c0816; --ct-ink: #fff0ea; --ct-ink-2: #f0c8c0; --ct-rule: #7a2438; --ct-ac: #f0c060; --ct-ac-ink: #f0c060; --ct-on-ac: #3a0814; --ct-pr: 62px;
  --ct-art: url(/img/looks/card-heartruby.webp) left 6px top 6px / 13px 13px no-repeat, url(/img/looks/card-heartruby.webp) left 6px bottom 6px / 13px 13px no-repeat, url(/img/looks/card-heartruby.webp) right 6px bottom 6px / 13px 13px no-repeat,
    url(/img/looks/card-bigruby.webp) right 9px top calc(7px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(62px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-gemheap.webp) left bottom 4px / 240px 34px repeat-x, url(/img/looks/card-gems.webp) 0 0 / 168px 112px repeat,
    linear-gradient(118deg, rgba(255, 255, 255, .1), transparent 36%, transparent 64%, rgba(0, 0, 0, .36)), repeating-linear-gradient(118deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px), radial-gradient(120% 130% at 28% 0%, #7c1432, #4a0a1c 62%); }
article.st-card.lk-card.lk-ct-rubyvault { border: 1px solid #f0c060; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(240, 192, 96, .8); padding-bottom: 44px; }
article.st-card.lk-card.lk-ct-rubyvault .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #ffdc90; }

/* picnic gingham: soft green gingham cloth, two daisies in the corner, a daisy chain along the bottom */
.lk-ct-gingham, :is([data-gem-item="card_gingham"], [data-gem-dv="card_gingham"]) .gm-card { --ct-bg: #f4f9e4; --ct-bg-2: #e2efc8; --ct-ink: #1f3a16; --ct-ink-2: #44603a; --ct-rule: #a8cc8a; --ct-ac: #2f7a24; --ct-ac-ink: #2c6e22; --ct-on-ac: #ffffff; --ct-pr: 66px; --ct-pr2: 58px;
  --ct-art: url(/img/looks/card-daisies.webp) right 4px top calc(4px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(74px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-daisychain.webp) left bottom 2px / 132px 24px repeat-x,
    repeating-linear-gradient(0deg, rgba(110, 185, 70, .2) 0 12px, transparent 12px 24px), repeating-linear-gradient(90deg, rgba(110, 185, 70, .2) 0 12px, transparent 12px 24px); }
:root[data-theme="dark"] article.lk-ct-gingham { --ct-bg: #e6eed2; --ct-bg-2: #d4e2b8; }
article.st-card.lk-ct-gingham { padding-bottom: 30px; }

/* egg basket: pale sky with soft clouds, painted eggs in the grass and a wicker basket of them along the bottom, a butterfly */
.lk-ct-eggbasket, :is([data-gem-item="card_eggbasket"], [data-gem-dv="card_eggbasket"]) .gm-card { --ct-bg: #dff1fb; --ct-bg-2: #c8e4f4; --ct-ink: #12324a; --ct-ink-2: #36566e; --ct-rule: #a0cce6; --ct-ac: #c2255c; --ct-ac-ink: #a61e4d; --ct-on-ac: #ffffff; --ct-pr: 36px;
  --ct-art: url(/img/looks/card-eggrow.webp) left bottom / 260px 40px repeat-x, url(/img/looks/card-butterfly.webp) right 12px top calc(9px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(34px * var(--ct-s, 1)) auto no-repeat,
    radial-gradient(46px 12px at 72% 46%, rgba(255, 255, 255, .9) 55%, transparent), radial-gradient(30px 9px at 64% 52%, rgba(255, 255, 255, .9) 55%, transparent), radial-gradient(34px 9px at 18% 12%, rgba(255, 255, 255, .7) 55%, transparent), linear-gradient(180deg, rgba(110, 185, 240, .38), transparent 70%); }
:root[data-theme="dark"] article.lk-ct-eggbasket { --ct-bg: #d0e4f0; --ct-bg-2: #b8d4e6; }
article.st-card.lk-ct-eggbasket { padding-bottom: 44px; }

/* seed packet: cream paper inside a green scalloped edge, a painted sunflower, the small print rubber-stamped along the bottom */
.lk-ct-seedpacket, :is([data-gem-item="card_seedpacket"], [data-gem-dv="card_seedpacket"]) .gm-card { --ct-bg: #f8f0d8; --ct-bg-2: #ece0bc; --ct-ink: #2c2412; --ct-ink-2: #5a4c2e; --ct-rule: #c8b684; --ct-ac: #b5451f; --ct-ac-ink: #9a3a16; --ct-on-ac: #ffffff; --ct-pr: 70px; --ct-pr2: 64px;
  --ct-art: url(/img/looks/card-seedflower.webp) right 12px top calc(10px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(74px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-seedstamps.webp) left 12px bottom 10px / 290px 22px no-repeat,
    radial-gradient(circle at 8px 0, #4a9a50 0 5.5px, transparent 6px) left top var(--ct-t, 0px) / 16px 8px repeat-x, radial-gradient(circle at 8px 8px, #4a9a50 0 5.5px, transparent 6px) left bottom / 16px 8px repeat-x,
    radial-gradient(circle at 0 8px, #4a9a50 0 5.5px, transparent 6px) left top / 8px 16px repeat-y, radial-gradient(circle at 8px 8px, #4a9a50 0 5.5px, transparent 6px) right top / 8px 16px repeat-y, radial-gradient(150% 130% at 50% 0%, transparent 55%, rgba(150, 110, 40, .22)); }
:root[data-theme="dark"] article.lk-ct-seedpacket { --ct-bg: #eadfc0; --ct-bg-2: #dccfa8; }
article.st-card.lk-card.lk-ct-seedpacket { border-radius: 4px; border: 1px solid #4a9a50; padding-bottom: 38px; }
article.st-card.lk-ct-seedpacket .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 700; }

/* honeycomb: golden comb, honey running down from the top edge, two bees and the loops they have flown */
.lk-ct-honeycomb, :is([data-gem-item="card_honeycomb"], [data-gem-dv="card_honeycomb"]) .gm-card { --ct-bg: #f5bb38; --ct-bg-2: #e9a820; --ct-ink: #2e1a02; --ct-ink-2: #553808; --ct-rule: #c88a10; --ct-ac: #5a2f04; --ct-ac-ink: #6b3600; --ct-on-ac: #ffe9a8; --ct-pr: 88px; --ct-pr2: 84px;
  --ct-art: url(/img/looks/card-honeydrip.webp) left top var(--ct-t, 0px) / calc(180px * var(--ct-s, 1)) calc(26px * var(--ct-s, 1)) repeat-x, url(/img/looks/card-bees.webp) right 4px top calc(24px * var(--ct-s, 1) + var(--ct-t, 0px)) / calc(88px * var(--ct-s, 1)) auto no-repeat,
    url(/img/looks/card-comb.webp) 0 0 / 56px 32px repeat, radial-gradient(120% 100% at 20% 0%, rgba(255, 244, 180, .55), transparent 60%); }
:root[data-theme="dark"] article.lk-ct-honeycomb { --ct-bg: #e6aa28; --ct-bg-2: #d89a18; }

/* rainy day: slate blue with slanting rain, a rainbow between two clouds, puddles with their rings and a rubber duck along the bottom */
.lk-ct-rainyday, :is([data-gem-item="card_rainyday"], [data-gem-dv="card_rainyday"]) .gm-card { --ct-bg: #2f4a66; --ct-bg-2: #3a5a7a; --ct-btn: #263e58; --ct-ink: #f4f9ff; --ct-ink-2: #cfe0f0; --ct-rule: #56789a; --ct-ac: #ffd84a; --ct-ac-ink: #ffdc5c; --ct-on-ac: #1c2c40; --ct-pr: 88px; --ct-pr2: 86px;
  --ct-art: url(/img/looks/card-rainbow.webp) right 4px top calc(2px + var(--ct-y, 0px)) / calc(90px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-puddles.webp) left bottom 2px / 240px 28px repeat-x,
    url(/img/looks/card-rain.webp) 0 0 / 96px 96px repeat, linear-gradient(180deg, rgba(16, 26, 46, .4), transparent 55%), radial-gradient(90% 80% at 100% 0%, rgba(255, 240, 180, .2), transparent 70%); }
article.st-card.lk-ct-rainyday { padding-bottom: 34px; }

/* bioactive jungle (Legendary): deep green, palm fronds, a great split leaf and orchids hanging into the corner, the planted
   floor along the bottom, mist and fireflies, a bamboo-gold border, and the slow sheen */
.lk-ct-jungle, :is([data-gem-item="card_jungle"], [data-gem-dv="card_jungle"]) .gm-card { --ct-bg: #0c2a1c; --ct-bg-2: #143a28; --ct-btn: #0a2216; --ct-ink: #f2ffe8; --ct-ink-2: #c4e0b8; --ct-rule: #2a5a3c; --ct-ac: #f0c860; --ct-ac-ink: #f0c860; --ct-on-ac: #0c2a1c; --ct-pr: 86px; --ct-pr2: 46px;
  --ct-art: url(/img/looks/card-junglecorner.webp) right 0 top var(--ct-t, 0px) / calc(112px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-junglefloor.webp) left bottom / 300px 50px repeat-x, url(/img/looks/card-fireflies.webp) 0 0 / 170px 120px repeat,
    linear-gradient(0deg, transparent 28px, rgba(200, 255, 225, .2) 54px, transparent 96px), radial-gradient(120% 130% at 20% 0%, #1c6240, #0c2a1c 62%); }
article.st-card.lk-card.lk-ct-jungle { border: 2px solid #d9b45a; box-shadow: inset 0 0 0 2px var(--ct-bg), inset 0 0 0 3px rgba(217, 180, 90, .7); padding-bottom: 52px; }
article.st-card.lk-card.lk-ct-jungle .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #f6e2a0; }

/* beach day: warm sand, a beach ball, the sea coming in along the bottom with its foam, a starfish and a shell */
.lk-ct-beach, :is([data-gem-item="card_beach"], [data-gem-dv="card_beach"]) .gm-card { --ct-bg: #f7e2b0; --ct-bg-2: #edd090; --ct-ink: #3a2a10; --ct-ink-2: #604a22; --ct-rule: #d4b070; --ct-ac: #0e7c86; --ct-ac-ink: #0a5c66; --ct-on-ac: #ffffff; --ct-pr: 56px; --ct-pr2: 50px;
  --ct-art: url(/img/looks/card-beachball.webp) right 8px top calc(6px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(50px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-shore.webp) left bottom / 260px 40px repeat-x,
    radial-gradient(circle at 0 0, rgba(255, 190, 40, .5) 0 34px, rgba(255, 200, 60, .22) 35px 52px, transparent 53px), url(/img/looks/card-sand.webp) 0 0 / 240px 120px repeat; }
:root[data-theme="dark"] article.lk-ct-beach { --ct-bg: #ecd49c; --ct-bg-2: #e0c480; }
article.st-card.lk-ct-beach { padding-bottom: 44px; }

/* ice cream: strawberry pink with pastel sprinkles, chocolate sauce running down from the top edge, a two-scoop cone with a cherry */
.lk-ct-icecream, :is([data-gem-item="card_icecream"], [data-gem-dv="card_icecream"]) .gm-card { --ct-bg: #ffd3df; --ct-bg-2: #ffbdd0; --ct-ink: #4a1830; --ct-ink-2: #7a3050; --ct-rule: #f09ab8; --ct-ac: #c81e6a; --ct-ac-ink: #9a1852; --ct-on-ac: #ffffff; --ct-pr: 58px; --ct-pr2: 56px;
  --ct-art: url(/img/looks/card-melt.webp) left top var(--ct-t, 0px) / calc(180px * var(--ct-s, 1)) calc(26px * var(--ct-s, 1)) repeat-x, url(/img/looks/card-cone.webp) right 12px top calc(20px * var(--ct-s, 1) + var(--ct-t, 0px)) / calc(50px * var(--ct-s, 1)) auto no-repeat,
    url(/img/looks/card-sprinkles.webp) 0 0 / 96px 72px repeat, radial-gradient(120% 100% at 20% 0%, rgba(255, 255, 255, .5), transparent 60%); }
:root[data-theme="dark"] article.lk-ct-icecream { --ct-bg: #f6c4d2; --ct-bg-2: #eeb0c2; }

/* expo postcard: a sunburst on cream card, a stamp with a snake on it and the show's postmark, a palm island at sunset along the bottom */
.lk-ct-postcard, :is([data-gem-item="card_postcard"], [data-gem-dv="card_postcard"]) .gm-card { --ct-bg: #f6ead0; --ct-bg-2: #eadab4; --ct-ink: #1f2d3a; --ct-ink-2: #4a5560; --ct-rule: #c9b68a; --ct-ac: #c8481f; --ct-ac-ink: #9a3414; --ct-on-ac: #ffffff; --ct-pr: 62px; --ct-pr2: 62px;
  --ct-art: url(/img/looks/card-poststamp.webp) right 10px top calc(8px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(46px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-postmark.webp) right calc(36px * var(--ct-s, 1)) top calc(46px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(96px * var(--ct-s, 1)) auto no-repeat,
    url(/img/looks/card-palmbeach.webp) left bottom / 420px 50px repeat-x, repeating-conic-gradient(from -3deg at 44px calc(100% - 10px), rgba(240, 140, 40, .15) 0 6deg, transparent 6deg 12deg); }
:root[data-theme="dark"] article.lk-ct-postcard { --ct-bg: #e8dbbc; --ct-bg-2: #dccba0; }
article.st-card.lk-card.lk-ct-postcard { border-radius: 4px; padding-bottom: 54px; box-shadow: inset 0 0 0 4px var(--ct-bg), inset 0 0 0 5px rgba(31, 45, 58, .5); }
article.st-card.lk-ct-postcard .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 700; }

/* campfire night: a navy night of stars and fireflies, a crescent moon, and the camp along the bottom: pines, a lit tent, the fire */
.lk-ct-campfire, :is([data-gem-item="card_campfire"], [data-gem-dv="card_campfire"]) .gm-card { --ct-bg: #0f1c3a; --ct-bg-2: #18284c; --ct-btn: #0c1630; --ct-ink: #fff4e0; --ct-ink-2: #d0d6e8; --ct-rule: #2c3c66; --ct-ac: #ff9a3c; --ct-ac-ink: #ffb060; --ct-on-ac: #1a1020; --ct-pr: 46px; --ct-pr2: 40px;
  --ct-art: url(/img/looks/card-camp.webp) left bottom / 300px 52px repeat-x, url(/img/looks/card-crescent.webp) right 8px top calc(4px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(44px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-fireflies.webp) 30px 34px / 238px 168px repeat,
    url(/img/looks/card-nightsky.webp) 0 0 / 170px 110px repeat, linear-gradient(0deg, rgba(255, 140, 40, .34), rgba(255, 140, 40, .08) 34%, transparent 52%); }
article.st-card.lk-ct-campfire { padding-bottom: 54px; }

/* arcade: black with pixel stars, a neon floor running to a striped sun on the horizon, a pixel snake after a pixel apple */
.lk-ct-arcade, :is([data-gem-item="card_arcade"], [data-gem-dv="card_arcade"]) .gm-card { --ct-bg: #0a0a14; --ct-bg-2: #14142a; --ct-btn: #0a0a14; --ct-ink: #f4f4ff; --ct-ink-2: #c0c4e8; --ct-rule: #2a2a5a; --ct-ac: #ff3fa4; --ct-ac-ink: #4fe8ff; --ct-on-ac: #14041a; --ct-pr: 76px; --ct-pr2: 72px;
  --ct-art: url(/img/looks/card-neongrid.webp) left bottom / 100% 46px no-repeat, url(/img/looks/card-neonsun.webp) center bottom 27.5px / 44px 22px no-repeat, url(/img/looks/card-pixelsnake.webp) right 8px top calc(8px * var(--ct-s, 1) + var(--ct-y, 0px)) / calc(72px * var(--ct-s, 1)) auto no-repeat,
    url(/img/looks/card-pixelstars.webp) 0 0 / 128px 96px repeat, radial-gradient(90% 60% at 50% 100%, rgba(122, 26, 208, .4), transparent 70%); }
article.st-card.lk-card.lk-ct-arcade { border: 1px solid #ff3fa4; border-top: 3px solid #ff3fa4; border-radius: 6px; box-shadow: inset 0 0 14px rgba(255, 63, 164, .35); padding-bottom: 52px; }
article.st-card.lk-card.lk-ct-arcade .st-info b { font-family: var(--mono); font-size: 15.5px; letter-spacing: .01em; color: #7df9ff; text-shadow: 0 0 8px rgba(79, 232, 255, .7), 0 1px 2px rgba(0, 0, 0, .8); }

/* fireworks night (Legendary): midnight blue, a great red burst with gold and blue-white ones over the lit town, a gold border
   with a gold star in every corner, and the slow sheen */
.lk-ct-fireworks, :is([data-gem-item="card_fireworks"], [data-gem-dv="card_fireworks"]) .gm-card { --ct-bg: #0a1030; --ct-bg-2: #141c48; --ct-btn: #080c26; --ct-ink: #f4f6ff; --ct-ink-2: #c8d0ec; --ct-rule: #2a3468; --ct-ac: #f0c050; --ct-ac-ink: #f4c85a; --ct-on-ac: #0a1030; --ct-pr: 72px; --ct-pr2: 80px;
  --ct-art: url(/img/looks/card-star.webp) left 7px top 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) right 7px top 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) left 7px bottom 7px / 12px 12px no-repeat, url(/img/looks/card-star.webp) right 7px bottom 7px / 12px 12px no-repeat,
    url(/img/looks/card-skyline.webp) left bottom 4px / 280px 36px repeat-x, url(/img/looks/card-bursts.webp) right -8px top calc(-6px + var(--ct-y, 0px)) / calc(176px * var(--ct-s, 1)) auto no-repeat, url(/img/looks/card-nightsky.webp) 0 0 / 170px 110px repeat,
    linear-gradient(0deg, rgba(110, 70, 190, .5), rgba(110, 70, 190, .12) 34%, transparent 55%), radial-gradient(120% 130% at 80% 0%, #1c2a6c, #0a1030 62%); }
article.st-card.lk-card.lk-ct-fireworks { border: 1px solid #f0c050; box-shadow: inset 0 0 0 3px var(--ct-bg), inset 0 0 0 4px rgba(240, 192, 80, .8); padding-bottom: 44px; }
article.st-card.lk-card.lk-ct-fireworks .st-info b { font-family: var(--serif); font-size: 17px; font-weight: 600; color: #ffe2a0; }

@media (prefers-reduced-motion: reduce) {
  .lk-fa::after, .gm-ring::after, article.st-card.lk-ct-velvet::before { animation: none !important; }
  article.st-card.lk-ct-harvest::before, article.st-card.lk-ct-aurora::before { animation: none !important; }
  article.st-card.lk-ct-rubyvault::before, article.st-card.lk-ct-jungle::before, article.st-card.lk-ct-fireworks::before { animation: none !important; }
}
