/* Island Home / town map hub */
.page--home .panel:last-child {
  margin-bottom: 0;
}

.card--action:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.card__icon--wildlands { background: #ffe8d9; border-color: var(--color-orange); }
.card__icon--inventory { background: #dcfce7; border-color: var(--color-green); }
.card__icon--wallet { background: #fff9e8; border-color: var(--color-gold); }
.card__icon--collections { background: #fff3cd; border-color: var(--color-gold); }
.card__icon--map { background: #dbeafe; border-color: var(--color-blue); }
.card__icon--tree { background: #dcfce7; border-color: var(--color-jungle); }

.card--disabled {
  opacity: 0.85;
  cursor: not-allowed;
  border-style: dashed;
}

.card--disabled:hover {
  transform: none;
  box-shadow: var(--shadow-panel);
}

.zmt-notice {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}

.town-map--hub {
  margin-bottom: var(--space-4);
}

.town-map__scene {
  position: relative;
  height: 160px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 3px solid var(--border-color);
  box-shadow: var(--shadow-panel);
}

.town-map__sky {
  position: absolute;
  inset: 0 0 55%;
  background: #8fd3ff;
}

.town-map__sea {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: #3cb8e8;
}

.town-map__dock {
  position: absolute;
  left: 8%;
  bottom: 28%;
  width: 22%;
  height: 18%;
  background: #c49a6c;
  border-radius: 4px;
}

.town-map__plaza {
  position: absolute;
  left: 38%;
  bottom: 32%;
  width: 24%;
  height: 22%;
  background: #7bc67e;
  border-radius: 50% 50% 8px 8px;
}

.town-map__trail {
  position: absolute;
  right: 12%;
  bottom: 35%;
  width: 28%;
  height: 8%;
  background: #e8d4a8;
  border-radius: var(--radius-pill);
  transform: rotate(-8deg);
}

.town-map__note {
  margin-top: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--text-muted);
}

.bulletin-list--news li {
  margin-bottom: var(--space-3);
}

.daily-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.daily-checklist__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  margin-bottom: var(--space-2);
  border: 2px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--surface-inset);
}

.daily-checklist__item--disabled {
  opacity: 0.75;
}

.daily-checklist__icon {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  background: var(--color-jungle);
  flex-shrink: 0;
}

.daily-checklist__label {
  flex: 1;
  font-weight: 700;
}
