/**
 * 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/unofficial/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/multi/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-444oh {
  background-image: url("../svg/unofficial/444oh.svg");
}

.puzzle-icon.icon-fto {
  background-image: url("../svg/event/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-guildford {
  background-image: url("../svg/multi/guildford.svg");
}

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

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

.puzzle-icon.icon-miniguild_bld {
  background-image: url("../svg/multi/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 {
  background-image: url("../svg/unofficial/333_mirror_blocks.svg");
}

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

.puzzle-icon.icon-333_oven_mitts {
  background-image: url("../svg/unofficial/333_oven_mitts.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_void {
  background-image: url("../svg/unofficial/333_void.svg");
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.puzzle-icon.icon-234567relay_2_person {
  background-image: url("../svg/multi/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-icosa {
  background-image: url("../svg/unofficial/icosa.svg");
}
.puzzle-icon.icon-15puzzle {
  background-image: url("../svg/unofficial/15slide.svg");
}
.puzzle-icon.icon-15slide {
  background-image: url("../svg/unofficial/15slide.svg");
}
.puzzle-icon.icon-8puzzle {
  background-image: url("../svg/unofficial/8slide.svg");
}
.puzzle-icon.icon-8slide {
  background-image: url("../svg/unofficial/8slide.svg");
}
.puzzle-icon.icon-233 {
  background-image: url("../svg/unofficial/233.svg");
}

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

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

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

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

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

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

.puzzle-icon.icon-s133 {
  background-image: url("../svg/unofficial/s133.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");
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.puzzle-icon.icon-snake_ball {
  background-image: url("../svg/unofficial/snake_ball.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);
}
