.gsy-app--lover-home {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  padding: 0;
  color: #5f3850;
  background:
    radial-gradient(circle at 16% 12%, rgba(255, 255, 255, 0.78), transparent 24%),
    linear-gradient(180deg, #ffe8f0 0%, #fff5df 54%, #f1d2b3 100%);
}

.gsy-app--lover-home.gsy-app--zone {
  padding: 0;
}

.gsy-app--lover-home .gsy-zone-shell--lover-home {
  position: relative;
  flex: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 14px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.gsy-lover-home-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  margin: -2px 0 12px;
  padding: 8px 0;
  background: transparent;
  backdrop-filter: none;
}

.gsy-lover-home-topbar strong,
.gsy-lover-home-topbar span {
  display: block;
}

.gsy-lover-home-topbar strong {
  overflow: hidden;
  font-size: 18px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gsy-lover-home-topbar span {
  margin-top: 3px;
  color: rgba(95, 56, 80, 0.64);
  font-size: 12px;
}

.gsy-lover-home-topbar__title {
  min-width: 0;
  text-align: center;
}

.gsy-lover-home-back,
.gsy-lover-home-settings {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(138, 75, 102, 0.14);
  border-radius: 999px;
  color: #7d4560;
  background: rgba(255, 255, 255, 0.56);
  box-shadow: 0 8px 18px rgba(120, 72, 96, 0.1);
}

.gsy-lover-home-back {
  padding: 0 0 3px;
  font-size: 34px;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

.gsy-lover-home-settings {
  position: relative;
  padding: 0;
}

.gsy-lover-home-settings span {
  position: absolute;
  left: 50%;
  display: block;
  width: 18px;
  height: 2px;
  margin: 0;
  border-radius: 999px;
  background: currentColor;
  box-shadow: none;
  transform: translateX(-50%);
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}

.gsy-lover-home-settings span:nth-child(1) {
  top: 14px;
}

.gsy-lover-home-settings span:nth-child(2) {
  top: 20px;
}

.gsy-lover-home-settings span:nth-child(3) {
  top: 26px;
}

.gsy-zone-shell--lover-home.is-menu-open .gsy-lover-home-settings span:nth-child(1) {
  transform: translate(-50%, 6px) rotate(45deg);
}

.gsy-zone-shell--lover-home.is-menu-open .gsy-lover-home-settings span:nth-child(2) {
  opacity: 0;
}

.gsy-zone-shell--lover-home.is-menu-open .gsy-lover-home-settings span:nth-child(3) {
  transform: translate(-50%, -6px) rotate(-45deg);
}

.gsy-lover-home-stage-card {
  border: 3px solid rgba(119, 74, 96, 0.22);
  border-radius: 28px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.52);
  box-shadow: 0 22px 46px rgba(149, 93, 119, 0.22);
}

.gsy-lover-home-pixel-house {
  position: relative;
  height: 360px;
  overflow: hidden;
  border-radius: 22px;
  image-rendering: auto;
  background: linear-gradient(180deg, #9ed8ff 0 42%, #b7e3a4 42% 100%);
}

.gsy-lover-home-pixel-house__sky {
  position: absolute;
  inset: 0 0 48%;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.65) 0 18px, transparent 18px 34px) 18px 42px / 110px 18px repeat-x,
    radial-gradient(circle at 78% 18%, #fff0a4 0 20px, transparent 21px);
}

.gsy-lover-home-pixel-house__roof {
  position: absolute;
  left: 9%;
  right: 9%;
  top: 50px;
  height: 74px;
  background: var(--lover-home-roof);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  filter: drop-shadow(0 8px 0 rgba(83, 50, 70, 0.16));
}

.gsy-lover-home-pixel-house__room {
  position: absolute;
  left: 11%;
  right: 11%;
  top: 112px;
  bottom: 28px;
  overflow: hidden;
  border: 6px solid rgba(88, 57, 67, 0.22);
  border-radius: 0 0 18px 18px;
  background: var(--lover-home-wall);
  box-shadow: inset 0 -42px 0 rgba(91, 55, 35, 0.06);
}

.gsy-lover-home-pixel-house__room::before,
.gsy-lover-home-pixel-house__room::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
}

.gsy-lover-home-pixel-house__room::before {
  top: 0;
  height: 62%;
  background:
    radial-gradient(circle at 18px 18px, rgba(234, 118, 153, 0.42) 0 3px, transparent 4px) 0 0 / 48px 42px,
    radial-gradient(circle at 13px 14px, rgba(255, 255, 255, 0.74) 0 2px, transparent 3px) 0 0 / 48px 42px,
    linear-gradient(180deg, var(--lover-home-wall), var(--lover-home-wall));
}

.gsy-lover-home-pixel-house__room::after {
  bottom: 0;
  height: 38%;
  background:
    linear-gradient(90deg, transparent 0 62%, rgba(116, 74, 48, 0.16) 62% 63%, transparent 63% 100%) 0 0 / 58px 100% repeat,
    linear-gradient(0deg, rgba(94, 58, 34, 0.16) 0 1px, rgba(255, 255, 255, 0.12) 1px 2px, transparent 2px 24px) 0 0 / 100% 24px repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(91, 55, 35, 0.08)),
    var(--lover-home-floor);
}

.gsy-lover-home-pixel-house__window,
.gsy-lover-home-pixel-house__door {
  position: absolute;
  z-index: 1;
  display: block;
  border: 4px solid rgba(83, 54, 65, 0.3);
  background: #c5ecff;
}

.gsy-lover-home-pixel-house__window {
  width: 42px;
  height: 38px;
  left: 18%;
  top: 20%;
  box-shadow: inset 18px 0 0 rgba(255, 255, 255, 0.32), inset 0 15px 0 rgba(255, 255, 255, 0.32);
}

.gsy-lover-home-pixel-house__door {
  width: 46px;
  height: 72px;
  right: 16%;
  bottom: 0;
  border-bottom: 0;
  background: #c3865f;
}

.gsy-lover-home-furniture {
  --lover-home-furniture-scale: 1.42;
  position: absolute;
  width: 96px;
  height: 76px;
  margin: 0;
  padding: 0;
  color: #5b4050;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: grab;
  image-rendering: auto;
  transform: translate(-50%, -50%) scale(var(--lover-home-furniture-scale));
  transform-origin: center center;
  transition:
    filter 0.18s ease,
    transform 0.18s ease;
}

.gsy-lover-home-furniture.is-selected {
  filter: drop-shadow(0 0 0 #fff) drop-shadow(0 0 10px rgba(255, 92, 145, 0.74));
  transform: translate(-50%, -50%) translateY(-4px) scale(var(--lover-home-furniture-scale));
}

.gsy-lover-home-furniture__sprite {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 64px;
  height: 48px;
  transform: translate(-50%, -50%);
}

.gsy-lover-home-furniture__sprite::before,
.gsy-lover-home-furniture__sprite::after,
.gsy-lover-home-furniture__part {
  position: absolute;
  display: block;
  content: "";
  box-sizing: border-box;
}

.gsy-lover-home-furniture__part {
  background: currentColor;
}

.gsy-lover-home-furniture__name {
  display: none;
}

.gsy-lover-home-furniture--pink { color: #e96f9b; }
.gsy-lover-home-furniture--wood,
.gsy-lover-home-furniture--brown { color: #a96d35; }
.gsy-lover-home-furniture--cream { color: #f2c96d; }
.gsy-lover-home-furniture--green { color: #72b45a; }
.gsy-lover-home-furniture--gold { color: #e5ae32; }
.gsy-lover-home-furniture--red { color: #e95e68; }
.gsy-lover-home-furniture--blue { color: #6f9edb; }
.gsy-lover-home-furniture--white { color: #fff7df; }

.gsy-lover-home-furniture--sofa,
.gsy-lover-home-furniture--bed {
  --lover-home-furniture-scale: 1.6;
}

.gsy-lover-home-furniture--table,
.gsy-lover-home-furniture--shelf,
.gsy-lover-home-furniture--rug {
  --lover-home-furniture-scale: 1.5;
}

.gsy-lover-home-furniture--plant,
.gsy-lover-home-furniture--lamp,
.gsy-lover-home-furniture--clock {
  --lover-home-furniture-scale: 1.34;
}

.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__sprite::before {
  left: 5px;
  top: 14px;
  width: 48px;
  height: 24px;
  border: 4px solid rgba(83, 54, 65, 0.2);
  border-radius: 6px 6px 3px 3px;
  background: currentColor;
  box-shadow: inset 0 10px 0 rgba(255, 255, 255, 0.24);
}

.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__part--a,
.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__part--b {
  top: 8px;
  width: 16px;
  height: 14px;
  border-radius: 5px 5px 2px 2px;
  background: currentColor;
  box-shadow: inset 0 5px 0 rgba(255, 255, 255, 0.22);
}

.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__part--a { left: 10px; }
.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__part--b { right: 10px; }

.gsy-lover-home-furniture--sofa .gsy-lover-home-furniture__part--c {
  left: 9px;
  bottom: 0;
  width: 40px;
  height: 8px;
  background: rgba(83, 54, 65, 0.34);
}

.gsy-lover-home-furniture--table .gsy-lover-home-furniture__sprite::before {
  left: 8px;
  top: 12px;
  width: 44px;
  height: 18px;
  border: 4px solid rgba(83, 54, 65, 0.18);
  border-radius: 50%;
  background: currentColor;
  box-shadow: inset 0 7px 0 rgba(255, 255, 255, 0.28);
}

.gsy-lover-home-furniture--table .gsy-lover-home-furniture__part--a,
.gsy-lover-home-furniture--table .gsy-lover-home-furniture__part--b {
  top: 26px;
  width: 7px;
  height: 16px;
  background: rgba(83, 54, 65, 0.52);
}

.gsy-lover-home-furniture--table .gsy-lover-home-furniture__part--a { left: 18px; }
.gsy-lover-home-furniture--table .gsy-lover-home-furniture__part--b { right: 18px; }

.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__sprite::before {
  left: 3px;
  top: 15px;
  width: 52px;
  height: 24px;
  border: 4px solid rgba(83, 54, 65, 0.18);
  border-radius: 5px;
  background: currentColor;
  box-shadow: inset 0 11px 0 rgba(255, 255, 255, 0.3);
}

.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__part--a {
  left: 5px;
  top: 5px;
  width: 18px;
  height: 16px;
  border-radius: 3px;
  background: #fff7df;
}

.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__part--b,
.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__part--c {
  bottom: 0;
  width: 8px;
  height: 8px;
  background: rgba(83, 54, 65, 0.4);
}

.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__part--b { left: 8px; }
.gsy-lover-home-furniture--bed .gsy-lover-home-furniture__part--c { right: 8px; }

.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__sprite::before {
  left: 17px;
  bottom: 0;
  width: 25px;
  height: 18px;
  border: 4px solid rgba(83, 54, 65, 0.18);
  border-radius: 3px 3px 9px 9px;
  background: #d98f5f;
}

.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--a,
.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--b,
.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--c {
  border-radius: 50% 50% 40% 40%;
  background: currentColor;
}

.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--a {
  left: 18px;
  top: 7px;
  width: 17px;
  height: 18px;
}

.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--b {
  left: 28px;
  top: 3px;
  width: 18px;
  height: 19px;
}

.gsy-lover-home-furniture--plant .gsy-lover-home-furniture__part--c {
  left: 24px;
  top: 18px;
  width: 14px;
  height: 13px;
}

.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__sprite::before {
  left: 8px;
  top: 0;
  width: 42px;
  height: 42px;
  border: 4px solid rgba(83, 54, 65, 0.2);
  background: currentColor;
  box-shadow:
    inset 0 11px 0 rgba(255, 255, 255, 0.18),
    inset 0 24px 0 rgba(83, 54, 65, 0.16);
}

.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--a,
.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--b,
.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--c {
  top: 8px;
  width: 5px;
  height: 24px;
  background: #fff3c4;
}

.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--a { left: 17px; }
.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--b { left: 27px; background: #bcd8ff; }
.gsy-lover-home-furniture--shelf .gsy-lover-home-furniture__part--c { left: 37px; background: #ffd7e6; }

.gsy-lover-home-furniture--lamp .gsy-lover-home-furniture__sprite::before {
  left: 16px;
  top: 0;
  width: 28px;
  height: 22px;
  clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
  background: currentColor;
  box-shadow: inset 0 8px 0 rgba(255, 255, 255, 0.28);
}

.gsy-lover-home-furniture--lamp .gsy-lover-home-furniture__part--a {
  left: 28px;
  top: 20px;
  width: 5px;
  height: 18px;
  background: rgba(83, 54, 65, 0.48);
}

.gsy-lover-home-furniture--lamp .gsy-lover-home-furniture__part--b {
  left: 18px;
  bottom: 0;
  width: 25px;
  height: 7px;
  border-radius: 50% 50% 2px 2px;
  background: rgba(83, 54, 65, 0.42);
}

.gsy-lover-home-furniture--rug .gsy-lover-home-furniture__sprite::before {
  left: 5px;
  top: 10px;
  width: 50px;
  height: 30px;
  border: 4px dashed rgba(255, 255, 255, 0.54);
  border-radius: 50%;
  background: currentColor;
  box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.18);
}

.gsy-lover-home-furniture--rug .gsy-lover-home-furniture__part--a {
  left: 23px;
  top: 18px;
  width: 12px;
  height: 12px;
  background: #fff;
  clip-path: polygon(50% 100%, 0 36%, 18% 8%, 50% 24%, 82% 8%, 100% 36%);
}

.gsy-lover-home-furniture--clock .gsy-lover-home-furniture__sprite::before {
  left: 14px;
  top: 3px;
  width: 32px;
  height: 32px;
  border: 5px solid currentColor;
  border-radius: 50%;
  background: #fff7df;
  box-shadow: inset 0 0 0 3px rgba(83, 54, 65, 0.08);
}

.gsy-lover-home-furniture--clock .gsy-lover-home-furniture__part--a,
.gsy-lover-home-furniture--clock .gsy-lover-home-furniture__part--b {
  left: 29px;
  top: 17px;
  width: 3px;
  height: 11px;
  transform-origin: 50% 0;
  background: rgba(83, 54, 65, 0.72);
}

.gsy-lover-home-furniture--clock .gsy-lover-home-furniture__part--b {
  height: 9px;
  transform: rotate(90deg);
}

.gsy-lover-home-person {
  position: absolute;
  width: 46px;
  height: 78px;
  margin: 0;
  z-index: 8;
  image-rendering: pixelated;
}

.gsy-lover-home-person--me {
  left: 34%;
  bottom: 26px;
}

.gsy-lover-home-person--partner {
  left: 52%;
  bottom: 26px;
}

.gsy-lover-home-person__head,
.gsy-lover-home-person__hair,
.gsy-lover-home-person__body,
.gsy-lover-home-person__legs {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
}

.gsy-lover-home-person__hair {
  top: 0;
  width: 34px;
  height: 25px;
  border-radius: 12px 12px 6px 6px;
  background: var(--lover-home-hair);
  z-index: 2;
}

.gsy-lover-home-person.is-long-hair .gsy-lover-home-person__hair {
  height: 42px;
  width: 38px;
}

.gsy-lover-home-person.is-bob-hair .gsy-lover-home-person__hair {
  height: 32px;
  width: 40px;
}

.gsy-lover-home-person__head {
  top: 12px;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ffd8bd;
  z-index: 3;
}

.gsy-lover-home-person__eye {
  position: absolute;
  top: 13px;
  width: 5px;
  height: 5px;
  background: var(--lover-home-eye);
}

.gsy-lover-home-person__eye:first-child {
  left: 7px;
}

.gsy-lover-home-person__eye:last-child {
  right: 7px;
}

.gsy-lover-home-person__body {
  top: 42px;
  width: 30px;
  height: 25px;
  border-radius: 4px;
  background: var(--lover-home-top);
  z-index: 2;
}

.gsy-lover-home-person__legs {
  top: 64px;
  width: 28px;
  height: 16px;
  background: var(--lover-home-bottom);
  clip-path: polygon(0 0, 43% 0, 43% 100%, 0 100%, 0 0, 57% 0, 100% 0, 100% 100%, 57% 100%, 57% 0);
}

.gsy-lover-home-person.is-skirt .gsy-lover-home-person__legs {
  top: 62px;
  width: 34px;
  height: 18px;
  clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%);
}

.gsy-lover-home-person__name {
  position: absolute;
  left: 50%;
  top: 82px;
  transform: translateX(-50%);
  min-width: 54px;
  border-radius: 999px;
  padding: 2px 6px;
  color: #fff;
  background: rgba(75, 45, 62, 0.58);
  font-size: 10px;
  text-align: center;
  white-space: nowrap;
}

.gsy-lover-home-room-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.gsy-lover-home-room-tab {
  display: grid;
  gap: 3px;
  justify-items: center;
  min-width: 0;
  border: 1px solid rgba(120, 78, 98, 0.16);
  border-radius: 16px;
  padding: 8px 5px;
  color: #6d4058;
  background: rgba(255, 250, 246, 0.88);
  box-shadow: 0 8px 16px rgba(137, 83, 107, 0.1);
}

.gsy-lover-home-room-tab span,
.gsy-lover-home-room-tab strong,
.gsy-lover-home-room-tab small {
  display: block;
}

.gsy-lover-home-room-tab span {
  font-size: 20px;
  line-height: 1;
}

.gsy-lover-home-room-tab strong {
  overflow: hidden;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gsy-lover-home-room-tab small {
  color: rgba(95, 56, 80, 0.58);
  font-size: 10px;
}

.gsy-lover-home-room-tab.is-active {
  border-color: rgba(217, 91, 135, 0.72);
  color: #fff;
  background: linear-gradient(135deg, #f078a6, #d95b87);
}

.gsy-lover-home-room-tab.is-active small {
  color: rgba(255, 255, 255, 0.78);
}

.gsy-lover-home-room-tab.is-locked {
  opacity: 0.72;
  filter: grayscale(0.35);
}

.gsy-lover-home-floor-plan {
  position: relative;
  height: 390px;
  overflow: hidden;
  border: 5px solid rgba(88, 57, 67, 0.2);
  border-radius: 24px;
  cursor: crosshair;
  image-rendering: auto;
  background: var(--lover-home-wall);
  box-shadow:
    inset 0 -70px 0 rgba(91, 55, 35, 0.06),
    inset 0 0 0 10px rgba(255, 255, 255, 0.2);
}

.gsy-lover-home-floor-plan::before,
.gsy-lover-home-floor-plan::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
}

.gsy-lover-home-floor-plan::before {
  top: 0;
  height: 34%;
  z-index: 0;
  background:
    radial-gradient(circle at 18px 20px, rgba(234, 118, 153, 0.44) 0 3px, transparent 4px) 0 0 / 52px 46px,
    radial-gradient(circle at 14px 16px, rgba(255, 255, 255, 0.76) 0 2px, transparent 3px) 0 0 / 52px 46px,
    radial-gradient(circle at 23px 16px, rgba(255, 255, 255, 0.68) 0 2px, transparent 3px) 0 0 / 52px 46px,
    linear-gradient(180deg, var(--lover-home-wall), var(--lover-home-wall));
}

.gsy-lover-home-floor-plan::after {
  bottom: 0;
  height: 66%;
  z-index: 0;
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(103, 62, 38, 0.16) 48% 49%, transparent 49% 100%) 0 0 / 78px 100% repeat,
    linear-gradient(0deg, rgba(94, 58, 34, 0.16) 0 1px, rgba(255, 255, 255, 0.14) 1px 2px, transparent 2px 34px) 0 0 / 100% 34px repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(91, 55, 35, 0.08)),
    var(--lover-home-floor);
}

.gsy-lover-home-floor-plan__label {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 12;
  border-radius: 16px;
  padding: 8px 10px;
  color: #6d4058;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 18px rgba(90, 56, 76, 0.12);
  pointer-events: none;
}

.gsy-lover-home-floor-plan__label strong,
.gsy-lover-home-floor-plan__label span {
  display: block;
}

.gsy-lover-home-floor-plan__label strong {
  font-size: 13px;
}

.gsy-lover-home-floor-plan__label span {
  margin-top: 2px;
  color: rgba(95, 56, 80, 0.62);
  font-size: 10px;
}

.gsy-lover-home-floor-plan__window {
  position: absolute;
  z-index: 3;
  right: 18px;
  top: 18px;
  width: 72px;
  height: 54px;
  border: 5px solid rgba(83, 54, 65, 0.24);
  border-radius: 14px;
  background: #c5ecff;
  box-shadow:
    inset 30px 0 0 rgba(255, 255, 255, 0.28),
    inset 0 22px 0 rgba(255, 255, 255, 0.28);
}

.gsy-lover-home-floor-plan__rug {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 72%;
  width: 190px;
  height: 108px;
  border: 4px dashed rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: rgba(255, 225, 236, 0.62);
  transform: translate(-50%, -50%);
}

.gsy-lover-home-floor-plan__furniture {
  position: absolute;
  z-index: 3;
  right: 16%;
  top: 58%;
  display: grid;
  place-items: center;
  width: 104px;
  height: 76px;
  border: 4px solid rgba(83, 54, 65, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 0 rgba(80, 52, 66, 0.1);
  font-size: 34px;
  transform: translate(50%, -50%);
  pointer-events: none;
}

.gsy-lover-home-floor-plan .gsy-lover-home-furniture {
  z-index: 6;
  pointer-events: auto;
}

.gsy-lover-home-floor-plan .gsy-lover-home-person {
  bottom: auto;
  z-index: 14;
  cursor: pointer;
  transform: translate(-50%, -100%);
  transition:
    left 0.26s ease,
    top 0.26s ease,
    transform 0.18s ease,
    filter 0.18s ease;
  pointer-events: auto;
}

.gsy-lover-home-floor-plan .gsy-lover-home-person.is-selected {
  filter: drop-shadow(0 0 0 #fff) drop-shadow(0 0 10px rgba(255, 92, 145, 0.68));
  transform: translate(-50%, -100%) translateY(-4px);
}

.gsy-lover-home-floor-plan .gsy-lover-home-person--movable::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 80px;
  width: 34px;
  height: 10px;
  border-radius: 50%;
  background: rgba(57, 38, 48, 0.18);
  transform: translateX(-50%);
}

.gsy-lover-home-floor-plan--rose .gsy-lover-home-floor-plan__rug {
  background: rgba(255, 175, 202, 0.62);
}

.gsy-lover-home-floor-plan--mint .gsy-lover-home-floor-plan__rug {
  background: rgba(199, 232, 190, 0.7);
}

.gsy-lover-home-floor-plan--moon,
.gsy-lover-home-floor-plan--star {
  color: #fdf8ff;
  background: var(--lover-home-wall);
}

.gsy-lover-home-floor-plan--moon::before,
.gsy-lover-home-floor-plan--star::before {
  background:
    radial-gradient(circle at 18% 52%, rgba(255, 245, 181, 0.88) 0 8px, transparent 9px),
    radial-gradient(circle at 72% 58%, rgba(255, 255, 255, 0.7) 0 3px, transparent 4px),
    radial-gradient(circle at 84% 34%, rgba(255, 255, 255, 0.62) 0 2px, transparent 3px),
    radial-gradient(circle at 18px 20px, rgba(255, 210, 230, 0.3) 0 3px, transparent 4px) 0 0 / 52px 46px,
    radial-gradient(circle at 14px 16px, rgba(255, 255, 255, 0.42) 0 2px, transparent 3px) 0 0 / 52px 46px,
    linear-gradient(180deg, var(--lover-home-wall), var(--lover-home-wall));
}

.gsy-lover-home-floor-plan--moon::after,
.gsy-lover-home-floor-plan--star::after {
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(45, 34, 74, 0.18) 48% 49%, transparent 49% 100%) 0 0 / 78px 100% repeat,
    linear-gradient(0deg, rgba(31, 28, 64, 0.16) 0 1px, rgba(255, 255, 255, 0.12) 1px 2px, transparent 2px 34px) 0 0 / 100% 34px repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(31, 28, 64, 0.08)),
    var(--lover-home-floor);
}

.gsy-lover-home-menu {
  position: absolute;
  top: 70px;
  left: 14px;
  right: 14px;
  z-index: 28;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  max-height: none;
  margin: 0;
  overflow: visible;
  opacity: 0;
  transform: translateY(-10px) scale(0.98);
  transform-origin: top center;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.24s ease;
}

.gsy-lover-home-menu.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.gsy-lover-home-menu__button {
  display: grid;
  gap: 4px;
  justify-items: center;
  min-height: 82px;
  border: 1px solid rgba(217, 91, 135, 0.2);
  border-radius: 20px;
  padding: 10px 8px;
  color: #6d4058;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 24px rgba(137, 83, 107, 0.12);
}

.gsy-lover-home-menu__button span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 14px;
  background: #ffe1ec;
  font-size: 20px;
}

.gsy-lover-home-menu__button strong,
.gsy-lover-home-menu__button small {
  display: block;
  line-height: 1.2;
}

.gsy-lover-home-menu__button strong {
  font-size: 13px;
}

.gsy-lover-home-menu__button small {
  color: rgba(95, 56, 80, 0.58);
  font-size: 10px;
}

.gsy-lover-home-menu__button--reset {
  border-color: rgba(132, 106, 66, 0.24);
  background: rgba(255, 250, 232, 0.82);
}

.gsy-lover-home-menu__button--reset span {
  background: #fff0bd;
}

.gsy-lover-home-subpage {
  display: grid;
  gap: 12px;
}

.gsy-lover-home-card {
  border: 1px solid rgba(139, 88, 112, 0.18);
  border-radius: 22px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 24px rgba(137, 83, 107, 0.12);
}

.gsy-lover-home-card__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.gsy-lover-home-card__title {
  margin: 0 0 10px;
  font-size: 15px;
}

.gsy-lover-home-coin {
  color: #d95b87;
}

.gsy-lover-home-character-list,
.gsy-lover-home-shop-grid,
.gsy-lover-home-skin-grid {
  display: grid;
  gap: 8px;
}

.gsy-lover-home-character-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gsy-lover-home-character-pill {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(217, 91, 135, 0.18);
  border-radius: 999px;
  padding: 8px;
  color: #6d4058;
  background: #fff8fb;
}

.gsy-lover-home-character-pill span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #fff;
  background: #f078a6;
}

.gsy-lover-home-character-pill.is-active {
  color: #fff;
  background: linear-gradient(135deg, #f078a6, #d95b87);
}

.gsy-lover-home-card--shop {
  position: relative;
  padding-bottom: 92px;
}

.gsy-lover-home-shop-desc {
  display: block;
  margin-top: -5px;
  color: rgba(95, 56, 80, 0.62);
  line-height: 1.45;
}

.gsy-lover-home-shop-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}

.gsy-lover-home-shop-item {
  border: 1px solid rgba(120, 78, 98, 0.14);
  border-radius: 16px;
  padding: 10px;
  background: rgba(255, 250, 246, 0.86);
}

.gsy-lover-home-shop-item--hard {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.56), transparent 42%),
    rgba(241, 232, 221, 0.9);
}

.gsy-lover-home-shop-item--soft {
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 215, 230, 0.7), transparent 28%),
    rgba(255, 250, 246, 0.9);
}

.gsy-lover-home-shop-item__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 6px;
  border-radius: 12px;
  background: #ffe1ec;
  font-size: 24px;
}

.gsy-lover-home-shop-item strong,
.gsy-lover-home-shop-item small {
  display: block;
}

.gsy-lover-home-shop-item small {
  margin: 3px 0 8px;
  color: rgba(95, 56, 80, 0.62);
}

.gsy-lover-home-shop-bottom-nav {
  position: sticky;
  bottom: 10px;
  z-index: 18;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 -76px;
  border: 1px solid rgba(120, 78, 98, 0.14);
  border-radius: 24px;
  padding: 8px;
  background: rgba(255, 248, 251, 0.92);
  box-shadow: 0 14px 32px rgba(137, 83, 107, 0.18);
  backdrop-filter: blur(14px);
}

.gsy-lover-home-shop-bottom-nav__button {
  display: grid;
  gap: 4px;
  place-items: center;
  min-height: 58px;
  border: 1px solid transparent;
  border-radius: 18px;
  padding: 7px 6px;
  color: #7d4560;
  background: transparent;
}

.gsy-lover-home-shop-bottom-nav__button span,
.gsy-lover-home-shop-bottom-nav__button strong {
  display: block;
}

.gsy-lover-home-shop-bottom-nav__button span {
  font-size: 21px;
  line-height: 1;
}

.gsy-lover-home-shop-bottom-nav__button strong {
  font-size: 12px;
  line-height: 1.15;
}

.gsy-lover-home-shop-bottom-nav__button.is-active {
  border-color: rgba(217, 91, 135, 0.34);
  color: #fff;
  background: linear-gradient(135deg, #f078a6, #d95b87);
  box-shadow: 0 10px 18px rgba(217, 91, 135, 0.22);
}

.gsy-lover-home-skin-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gsy-lover-home-skin {
  border: 1px solid rgba(120, 78, 98, 0.16);
  border-radius: 16px;
  padding: 10px;
  color: #6d4058;
  background: #fffaf6;
}

.gsy-lover-home-skin span {
  display: block;
  width: 54px;
  height: 42px;
  margin: 0 auto 6px;
  background: linear-gradient(180deg, var(--lover-home-roof) 0 38%, var(--lover-home-wall) 38% 100%);
  clip-path: polygon(50% 0, 100% 38%, 100% 100%, 0 100%, 0 38%);
}

.gsy-lover-home-skin.is-active {
  border-color: rgba(217, 91, 135, 0.72);
  box-shadow: 0 0 0 3px rgba(217, 91, 135, 0.12);
}

.gsy-lover-home-customizer-preview {
  display: grid;
  place-items: center;
  min-height: 116px;
  margin-bottom: 10px;
  border-radius: 18px;
  background: linear-gradient(180deg, #dff4ff, #fff4da);
}

.gsy-lover-home-customizer-preview .gsy-lover-home-person {
  position: relative;
  left: auto;
  bottom: auto;
}

.gsy-lover-home-field {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin: 8px 0;
  font-size: 12px;
}

.gsy-lover-home-field input[type="color"] {
  width: 100%;
  height: 34px;
  border: 0;
  border-radius: 10px;
  padding: 2px;
  background: #fff;
}

.gsy-lover-home-field select {
  width: 100%;
  height: 34px;
  border: 1px solid rgba(120, 78, 98, 0.18);
  border-radius: 10px;
  padding: 0 8px;
  color: #6d4058;
  background: #fff;
}

.gsy-lover-home-empty,
.gsy-lover-home-empty-screen {
  color: rgba(95, 56, 80, 0.66);
}

.gsy-lover-home-empty-screen {
  margin-top: 30px;
  border-radius: 22px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.72);
}

.gsy-lover-home-furniture.has-custom-pixels {
  --lover-home-furniture-scale: 1.45;
}

.gsy-lover-home-furniture.has-custom-pixels .gsy-lover-home-furniture__sprite::before,
.gsy-lover-home-furniture.has-custom-pixels .gsy-lover-home-furniture__sprite::after,
.gsy-lover-home-furniture.has-custom-pixels .gsy-lover-home-furniture__part {
  display: none;
  content: none;
}

.gsy-lover-home-furniture__sprite--custom {
  display: grid;
  grid-template-columns: repeat(var(--lover-home-pixel-size, 16), 1fr);
  grid-template-rows: repeat(var(--lover-home-pixel-size, 16), 1fr);
  gap: 0;
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
  box-shadow: none;
  filter: saturate(1.06) contrast(1.02);
}

.gsy-lover-home-furniture__pixel {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.gsy-lover-home-furniture__pixel.is-painted {
  box-shadow: none;
}

.gsy-lover-home-warehouse-grid {
  display: grid;
  gap: 10px;
}

.gsy-lover-home-warehouse-item {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(120, 78, 98, 0.14);
  border-radius: 18px;
  padding: 10px;
  background: rgba(255, 250, 246, 0.88);
  box-shadow: 0 8px 16px rgba(137, 83, 107, 0.08);
}

.gsy-lover-home-warehouse-item.is-editing {
  border-color: rgba(217, 91, 135, 0.64);
  box-shadow:
    0 0 0 3px rgba(217, 91, 135, 0.12),
    0 10px 20px rgba(137, 83, 107, 0.12);
}

.gsy-lover-home-warehouse-item__preview {
  position: relative;
  min-height: 86px;
  overflow: hidden;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.28) 0 2px, transparent 2px 18px) 0 0 / 18px 100%,
    linear-gradient(180deg, #ffeaf2 0%, #fff7df 100%);
}

.gsy-lover-home-warehouse-item__preview .gsy-lover-home-furniture {
  pointer-events: none;
}

.gsy-lover-home-warehouse-item__body {
  min-width: 0;
}

.gsy-lover-home-warehouse-item__body strong,
.gsy-lover-home-warehouse-item__body small {
  display: block;
}

.gsy-lover-home-warehouse-item__body strong {
  overflow: hidden;
  color: #5f3850;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gsy-lover-home-warehouse-item__body small {
  margin-top: 4px;
  color: rgba(95, 56, 80, 0.62);
  font-size: 11px;
}

.gsy-lover-home-warehouse-item .gsy-lover-home-field--compact {
  grid-column: 1 / -1;
  margin: 0;
}

.gsy-lover-home-warehouse-item__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gsy-lover-home-warehouse-item__tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid rgba(132, 106, 66, 0.18);
  border-radius: 999px;
  padding: 0 10px;
  color: rgba(95, 56, 80, 0.68);
  background: rgba(255, 250, 232, 0.78);
  font-size: 12px;
}

.gsy-lover-home-import-box {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  border: 1px dashed rgba(217, 91, 135, 0.28);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255, 248, 251, 0.72);
}

.gsy-lover-home-import-box h5,
.gsy-lover-home-import-box p {
  margin: 0;
}

.gsy-lover-home-import-box h5 {
  color: #5f3850;
  font-size: 14px;
}

.gsy-lover-home-import-box p {
  color: rgba(95, 56, 80, 0.62);
  font-size: 12px;
  line-height: 1.5;
}

.gsy-lover-home-import-box__input {
  width: 100%;
  min-height: 116px;
  resize: vertical;
  border: 1px solid rgba(120, 78, 98, 0.16);
  border-radius: 14px;
  padding: 10px;
  color: #5f3850;
  background: rgba(255, 255, 255, 0.82);
  font: inherit;
  line-height: 1.45;
  outline: none;
}

.gsy-lover-home-import-box__input:focus {
  border-color: rgba(217, 91, 135, 0.5);
  box-shadow: 0 0 0 3px rgba(217, 91, 135, 0.12);
}

.gsy-lover-home-field--compact {
  grid-template-columns: 44px minmax(0, 1fr);
}

.gsy-lover-home-card--editor {
  display: grid;
  gap: 12px;
}

.gsy-lover-home-editor-tools {
  display: grid;
  gap: 8px;
}

.gsy-lover-home-tool-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gsy-lover-home-tool-tabs .gsy-chip.is-active {
  color: #fff;
  border-color: rgba(217, 91, 135, 0.72);
  background: linear-gradient(135deg, #f078a6, #d95b87);
}

.gsy-lover-home-reference-input {
  display: none;
}

.gsy-lover-home-reference-tip {
  margin: -2px 0 0;
  color: rgba(95, 56, 80, 0.62);
  font-size: 12px;
  line-height: 1.5;
}

.gsy-lover-home-pixel-editor {
  display: grid;
  grid-template-columns: repeat(var(--lover-home-pixel-size, 16), minmax(0, 1fr));
  gap: 1px;
  width: min(100%, 560px);
  max-width: 560px;
  margin: 0 auto;
  border: 3px solid rgba(120, 78, 98, 0.18);
  border-radius: 22px;
  padding: 12px;
  background:
    linear-gradient(45deg, rgba(255, 255, 255, 0.7) 25%, transparent 25% 75%, rgba(255, 255, 255, 0.7) 75%) 0 0 / 18px 18px,
    linear-gradient(45deg, transparent 25%, rgba(255, 222, 234, 0.52) 25% 75%, transparent 75%) 9px 9px / 18px 18px,
    rgba(255, 248, 251, 0.92);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.gsy-lover-home-pixel-editor.has-reference-image {
  background:
    linear-gradient(90deg, rgba(95, 56, 80, 0.14) 0 1px, transparent 1px 100%) 0 0 / calc(100% / var(--lover-home-pixel-size, 16)) 100%,
    linear-gradient(180deg, rgba(95, 56, 80, 0.14) 0 1px, transparent 1px 100%) 0 0 / 100% calc(100% / var(--lover-home-pixel-size, 16)),
    var(--lover-home-reference-image) center / contain no-repeat,
    rgba(255, 248, 251, 0.92);
}

.gsy-lover-home-pixel-editor__cell {
  aspect-ratio: 1;
  min-width: 0;
  min-height: 0;
  border: 1px solid rgba(95, 56, 80, 0.24);
  border-radius: 3px;
  padding: 0;
  background: rgba(255, 255, 255, 0.42);
  cursor: crosshair;
  image-rendering: pixelated;
  transition:
    transform 0.12s ease,
    box-shadow 0.12s ease;
}

.gsy-lover-home-pixel-editor.has-reference-image .gsy-lover-home-pixel-editor__cell {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(95, 56, 80, 0.2);
}

.gsy-lover-home-pixel-editor__cell:hover {
  transform: scale(1.08);
  box-shadow: 0 0 0 2px rgba(217, 91, 135, 0.24);
}

.gsy-lover-home-pixel-editor__cell.is-painted {
  border-color: rgba(70, 42, 54, 0.24);
}

.gsy-lover-home-furniture--wall {
  --lover-home-furniture-scale: 1.34;
  z-index: 2;
}

.gsy-lover-home-furniture--wall .gsy-lover-home-furniture__sprite {
  width: 84px;
  height: 62px;
}

.gsy-lover-home-furniture--wall .gsy-lover-home-furniture__sprite::before {
  inset: 4px;
  border: 4px solid rgba(83, 54, 65, 0.16);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12px 12px, rgba(255, 255, 255, 0.58) 0 3px, transparent 4px) 0 0 / 28px 24px,
    linear-gradient(180deg, currentColor, currentColor);
  box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.14);
}

.gsy-lover-home-furniture--floor {
  --lover-home-furniture-scale: 1.46;
  z-index: 2;
}

.gsy-lover-home-furniture--floor .gsy-lover-home-furniture__sprite {
  width: 88px;
  height: 52px;
}

.gsy-lover-home-furniture--floor .gsy-lover-home-furniture__sprite::before {
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 34px;
  border: 4px solid rgba(83, 54, 65, 0.12);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(88, 57, 67, 0.16) 48% 50%, transparent 50% 100%) 0 0 / 24px 100%,
    currentColor;
  box-shadow: inset 0 9px 0 rgba(255, 255, 255, 0.2);
}

.gsy-lover-home-furniture--window {
  --lover-home-furniture-scale: 1.22;
  z-index: 4;
}

.gsy-lover-home-furniture--window .gsy-lover-home-furniture__sprite::before {
  left: 13px;
  top: 6px;
  width: 38px;
  height: 34px;
  border: 5px solid rgba(83, 54, 65, 0.25);
  border-radius: 7px;
  background: #c5ecff;
  box-shadow:
    inset 14px 0 0 rgba(255, 255, 255, 0.3),
    inset 0 13px 0 rgba(255, 255, 255, 0.3);
}

.gsy-lover-home-furniture--window.window-rectangle .gsy-lover-home-furniture__sprite::before {
  left: 8px;
  width: 50px;
  height: 30px;
}

.gsy-lover-home-furniture--window.window-round .gsy-lover-home-furniture__sprite::before {
  left: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.gsy-lover-home-furniture--window.window-heart .gsy-lover-home-furniture__sprite::before {
  left: 16px;
  width: 34px;
  height: 34px;
  border-radius: 10px 10px 50% 50%;
  clip-path: polygon(50% 100%, 0 44%, 14% 10%, 50% 24%, 86% 10%, 100% 44%);
}

.gsy-lover-home-furniture--door {
  --lover-home-furniture-scale: 1.34;
  z-index: 5;
}

.gsy-lover-home-furniture--door .gsy-lover-home-furniture__sprite::before {
  left: 17px;
  top: 2px;
  width: 30px;
  height: 48px;
  border: 5px solid rgba(83, 54, 65, 0.22);
  border-bottom: 0;
  border-radius: 14px 14px 3px 3px;
  background: currentColor;
  box-shadow: inset 8px 0 0 rgba(255, 255, 255, 0.18);
}

.gsy-lover-home-furniture--door .gsy-lover-home-furniture__part--a {
  right: 22px;
  top: 27px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff0bd;
}

.gsy-lover-home-furniture--mirror,
.gsy-lover-home-furniture--desk,
.gsy-lover-home-furniture--chair,
.gsy-lover-home-furniture--music,
.gsy-lover-home-furniture--curtain,
.gsy-lover-home-furniture--cart,
.gsy-lover-home-furniture--screen,
.gsy-lover-home-furniture--cushion {
  --lover-home-furniture-scale: 1.34;
}

.gsy-lover-home-furniture--mirror .gsy-lover-home-furniture__sprite::before {
  left: 18px;
  top: 2px;
  width: 30px;
  height: 42px;
  border: 5px solid currentColor;
  border-radius: 50% 50% 10px 10px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), #c5ecff);
}

.gsy-lover-home-furniture--desk .gsy-lover-home-furniture__sprite::before,
.gsy-lover-home-furniture--cart .gsy-lover-home-furniture__sprite::before {
  left: 8px;
  top: 15px;
  width: 50px;
  height: 16px;
  border-radius: 5px;
  background: currentColor;
  box-shadow: inset 0 6px 0 rgba(255, 255, 255, 0.24);
}

.gsy-lover-home-furniture--chair .gsy-lover-home-furniture__sprite::before,
.gsy-lover-home-furniture--cushion .gsy-lover-home-furniture__sprite::before {
  left: 15px;
  top: 18px;
  width: 36px;
  height: 24px;
  border-radius: 50% 50% 14px 14px;
  background: currentColor;
  box-shadow: inset 0 8px 0 rgba(255, 255, 255, 0.22);
}

.gsy-lover-home-furniture--music .gsy-lover-home-furniture__sprite::before {
  left: 14px;
  top: 14px;
  width: 38px;
  height: 28px;
  border-radius: 8px;
  background: currentColor;
  box-shadow:
    inset 0 9px 0 rgba(255, 255, 255, 0.2),
    12px -10px 0 -3px rgba(83, 54, 65, 0.32);
}

.gsy-lover-home-furniture--curtain .gsy-lover-home-furniture__sprite::before,
.gsy-lover-home-furniture--screen .gsy-lover-home-furniture__sprite::before {
  left: 10px;
  top: 4px;
  width: 46px;
  height: 42px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.24) 0 2px, transparent 2px 9px) 0 0 / 11px 100%,
    currentColor;
  box-shadow: inset 0 0 0 4px rgba(83, 54, 65, 0.14);
}

@media (min-width: 760px) {
  .gsy-lover-home-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gsy-lover-home-card--compact,
  .gsy-lover-home-stage-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .gsy-zone-shell--lover-home {
    padding: 10px;
  }

  .gsy-lover-home-pixel-house {
    height: 320px;
  }

  .gsy-lover-home-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gsy-lover-home-warehouse-item {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .gsy-lover-home-pixel-editor {
    grid-template-columns: repeat(var(--lover-home-pixel-size, 16), minmax(0, 1fr));
    gap: 1px;
    padding: 8px;
  }

  .gsy-lover-home-pixel-editor__cell {
    min-width: 0;
    min-height: 0;
    border-radius: 2px;
  }

  .gsy-lover-home-shop-grid,
  .gsy-lover-home-skin-grid,
  .gsy-lover-home-character-list {
    grid-template-columns: 1fr;
  }

  .gsy-lover-home-card--shop {
    padding-bottom: 88px;
  }

  .gsy-lover-home-shop-bottom-nav {
    bottom: 8px;
    margin-bottom: -72px;
  }
}
