/**
 * Local Puzzle Icons - Uses SVG files from assets/svg folder
 * Replaces CDN-based cubing icons with local SVG icons
 */

/* Base icon styling */
.puzzle-icon {
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  min-width: 1.3em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 0.5em;
  flex-shrink: 0;
}

/* WCA Official Events */
.puzzle-icon.icon-222 {
  background-image: url("../svg/event/222.svg");
}

.puzzle-icon.icon-333 {
  background-image: url("../svg/event/333.svg");
}

.puzzle-icon.icon-444 {
  background-image: url("../svg/event/444.svg");
}

.puzzle-icon.icon-555 {
  background-image: url("../svg/event/555.svg");
}

.puzzle-icon.icon-666 {
  background-image: url("../svg/event/666.svg");
}

.puzzle-icon.icon-777 {
  background-image: url("../svg/event/777.svg");
}

.puzzle-icon.icon-333bf {
  background-image: url("../svg/event/333bf.svg");
}

.puzzle-icon.icon-333fm {
  background-image: url("../svg/event/333fm.svg");
}

.puzzle-icon.icon-333oh {
  background-image: url("../svg/event/333oh.svg");
}

.puzzle-icon.icon-333mbf {
  background-image: url("../svg/event/333mbf.svg");
}

.puzzle-icon.icon-444bf {
  background-image: url("../svg/event/444bf.svg");
}

.puzzle-icon.icon-555bf {
  background-image: url("../svg/event/555bf.svg");
}

.puzzle-icon.icon-clock {
  background-image: url("../svg/event/clock.svg");
}

.puzzle-icon.icon-minx {
  background-image: url("../svg/event/minx.svg");
}

.puzzle-icon.icon-pyram {
  background-image: url("../svg/event/pyram.svg");
}

.puzzle-icon.icon-skewb {
  background-image: url("../svg/event/skewb.svg");
}

.puzzle-icon.icon-sq1 {
  background-image: url("../svg/event/sq1.svg");
}

/* Unofficial Events */
.puzzle-icon.icon-222bf {
  background-image: url("../svg/unofficial/222bf.svg");
}

.puzzle-icon.icon-222oh {
  background-image: url("../svg/unofficial/222oh.svg");
}

.puzzle-icon.icon-333ft {
  background-image: url("../svg/unofficial/333ft.svg");
}

.puzzle-icon.icon-333mts {
  background-image: url("../svg/unofficial/333mts.svg");
}

.puzzle-icon.icon-333mbo {
  background-image: url("../svg/unofficial/333mbo.svg");
}

.puzzle-icon.icon-666bf {
  background-image: url("../svg/unofficial/666bf.svg");
}

.puzzle-icon.icon-777bf {
  background-image: url("../svg/unofficial/777bf.svg");
}

.puzzle-icon.icon-444ft {
  background-image: url("../svg/unofficial/444ft.svg");
}

.puzzle-icon.icon-fto {
  background-image: url("../svg/unofficial/fto.svg");
}

.puzzle-icon.icon-kilominx {
  background-image: url("../svg/unofficial/kilominx.svg");
}

.puzzle-icon.icon-redi {
  background-image: url("../svg/unofficial/redi.svg");
}

.puzzle-icon.icon-mpyram,
.puzzle-icon.icon-mpyr {
  background-image: url("../svg/unofficial/mpyram.svg");
}

.puzzle-icon.icon-mskewb {
  background-image: url("../svg/unofficial/mskewb.svg");
}

.puzzle-icon.icon-compy {
  background-image: url("../svg/unofficial/compy.svg");
}

/* Tetraminx */
.puzzle-icon.icon-tetraminx {
  background-image: url("../svg/unofficial/tetram.svg");
}

.puzzle-icon.icon-mirror {
  background-image: url("../svg/unofficial/333_mirror_blocks.svg");
}

.puzzle-icon.icon-fisher {
  background-image: url("../svg/unofficial/fisher.svg");
}

.puzzle-icon.icon-helicopter {
  background-image: url("../svg/unofficial/helicopter.svg");
}

.puzzle-icon.icon-curvycopter {
  background-image: url("../svg/unofficial/curvycopter.svg");
}

.puzzle-icon.icon-minxbld {
  background-image: url("../svg/unofficial/minx_bld.svg");
}

.puzzle-icon.icon-sq1bld {
  background-image: url("../svg/unofficial/sq1_bld.svg");
}

.puzzle-icon.icon-magic {
  background-image: url("../svg/unofficial/magic.svg");
}

.puzzle-icon.icon-mmagic {
  background-image: url("../svg/unofficial/mmagic.svg");
}

.puzzle-icon.icon-mtetram {
  background-image: url("../svg/unofficial/mtetram.svg");
}

/* Baby FTO */
.puzzle-icon.icon-baby_fto {
  background-image: url("../svg/unofficial/baby_fto.svg");
}

/* Pyramorphix */
.puzzle-icon.icon-pyramorphix {
  background-image: url("../svg/unofficial/pyramorphix.svg");
}

/* Magic OH */
.puzzle-icon.icon-magic_oh {
  background-image: url("../svg/unofficial/magic_oh.svg");
}

/* Miniguild variants */
.puzzle-icon.icon-miniguild {
  background-image: url("../svg/unofficial/miniguild.svg");
}

.puzzle-icon.icon-miniguild_2_person {
  background-image: url("../svg/unofficial/miniguild_2_person.svg");
}

.puzzle-icon.icon-miniguild_bld {
  background-image: url("../svg/unofficial/miniguild_bld.svg");
}

/* 333 variants */
.puzzle-icon.icon-333_linear_fm {
  background-image: url("../svg/unofficial/333_linear_fm.svg");
}

.puzzle-icon.icon-333_mirror_blocks_bld {
  background-image: url("../svg/unofficial/333_mirror_blocks_bld.svg");
}

.puzzle-icon.icon-333_siamese {
  background-image: url("../svg/unofficial/333_siamese.svg");
}

.puzzle-icon.icon-333_speed_bld {
  background-image: url("../svg/unofficial/333_speed_bld.svg");
}

.puzzle-icon.icon-333_team_bld {
  background-image: url("../svg/unofficial/333_team_bld.svg");
}

.puzzle-icon.icon-333_team_factory {
  background-image: url("../svg/unofficial/333_team_factory.svg");
}

.puzzle-icon.icon-333_oh_bld_relay {
  background-image: url("../svg/unofficial/333_oh_bld_relay.svg");
}

.puzzle-icon.icon-333_oh_bld_team_relay {
  background-image: url("../svg/unofficial/333_oh_bld_team_relay.svg");
}

/* BLD relays */
.puzzle-icon.icon-333bf_2_person_relay {
  background-image: url("../svg/unofficial/333bf_2_person_relay.svg");
}

.puzzle-icon.icon-333bf_3_person_relay {
  background-image: url("../svg/unofficial/333bf_3_person_relay.svg");
}

.puzzle-icon.icon-333bf_4_person_relay {
  background-image: url("../svg/unofficial/333bf_4_person_relay.svg");
}

.puzzle-icon.icon-333bf_8_person_relay {
  background-image: url("../svg/unofficial/333bf_8_person_relay.svg");
}

/* Relay events */
.puzzle-icon.icon-234relay {
  background-image: url("../svg/unofficial/234relay.svg");
}

.puzzle-icon.icon-2345relay {
  background-image: url("../svg/unofficial/2345relay.svg");
}

.puzzle-icon.icon-23456relay {
  background-image: url("../svg/unofficial/23456relay.svg");
}

.puzzle-icon.icon-234567relay {
  background-image: url("../svg/unofficial/234567relay.svg");
}

.puzzle-icon.icon-234567relay_2_person {
  background-image: url("../svg/unofficial/234567relay_2_person.svg");
}

/* Default/Other icon - use 333 as fallback */
.puzzle-icon.icon-other {
  background-image: url("../svg/event/333.svg");
  opacity: 0.6;
}

/* Icosahedron - use FTO as closest match */
.puzzle-icon.icon-icosahedron {
  background-image: url("../svg/unofficial/icosa.svg");
}
.puzzle-icon.icon-15puzzle {
  background-image: url("../svg/unofficial/15slide.svg");
}
.puzzle-icon.icon-8puzzle {
  background-image: url("../svg/unofficial/8slide.svg");
}

/* FTO Diamond - use Baby FTO */
.puzzle-icon.icon-ftodiamond {
  background-image: url("../svg/unofficial/baby_fto.svg");
}

/* Square-2 - use Square-1 icon */
.puzzle-icon.icon-sq2 {
  background-image: url("../svg/unofficial/sq2.svg");
}

.puzzle-icon.icon-888 {
  background-image: url("../svg/unofficial/888.svg");
}

.puzzle-icon.icon-999 {
  background-image: url("../svg/unofficial/999.svg");
}

.puzzle-icon.icon-101010 {
  background-image: url("../svg/unofficial/101010.svg");
}

.puzzle-icon.icon-111111 {
  background-image: url("../svg/unofficial/111111.svg");
}

.puzzle-icon.icon-gigaminx {
  background-image: url("../svg/unofficial/gigaminx.svg");
}

.puzzle-icon.icon-crazy333 {
  background-image: url("../svg/unofficial/crazy333.svg");
}

.puzzle-icon.icon-heli2x2 {
  background-image: url("../svg/unofficial/heli2x2.svg");
}

.puzzle-icon.icon-pyrcrystal {
  background-image: url("../svg/unofficial/pyrcrystal.svg");
}

/* Size variants */
.puzzle-icon.icon-sm {
  width: 1em;
  height: 1em;
}

.puzzle-icon.icon-lg {
  width: 1.5em;
  height: 1.5em;
}

.puzzle-icon.icon-xl {
  width: 2em;
  height: 2em;
}

/* Dark mode adjustments - invert black icons to white */
.dark-mode .puzzle-icon,
body.dark-mode .puzzle-icon {
  filter: invert(1) brightness(1.1);
}
