.brand-logo {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(51, 92, 255, 0.2);
}

.journey-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.25fr) auto;
  align-items: center;
  gap: 24px;
  margin: 28px 0 30px;
  padding: 22px 24px;
  border: 1px solid rgba(51, 92, 255, 0.13);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(238,241,255,.82));
  box-shadow: 0 18px 48px rgba(49, 66, 122, 0.09);
}

.journey-copy span {
  display: block;
  margin-bottom: 5px;
  color: #335cff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.journey-copy strong { display: block; margin-bottom: 4px; font-size: 18px; }
.journey-copy p { margin: 0; color: #69758e; font-size: 11px; line-height: 1.5; }
.journey-meter { min-width: 0; }
.journey-meter-top { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 9px; color: #66718b; font-size: 11px; font-weight: 750; }
.journey-track { height: 10px; overflow: hidden; border-radius: 999px; background: #dde3f5; }
.journey-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#335cff,#8b5cf6,#51d7b7); transition: width 420ms cubic-bezier(.2,.8,.2,1); }
.journey-actions { display: flex; gap: 8px; }
.journey-actions button { min-height: 38px; padding: 0 14px; border: 1px solid rgba(51,92,255,.16); border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 800; }
.journey-random { color: #fff; background: #335cff; box-shadow: 0 9px 20px rgba(51,92,255,.2); }
.journey-reset { color: #6b758d; background: rgba(255,255,255,.82); }
.lab-card.is-explored { border-color: rgba(81,215,183,.55); box-shadow: 0 24px 62px rgba(81,215,183,.13); }
.explored-badge { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 10px 8px; padding: 4px 8px; border-radius: 999px; color: #16816d; background: rgba(81,215,183,.14); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.explored-badge::before { content: "✓"; }

.progress-toast {
  position: fixed;
  z-index: 100;
  right: 22px;
  bottom: 22px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 14px 17px;
  border: 1px solid rgba(81,215,183,.4);
  border-radius: 15px;
  color: #183a35;
  background: rgba(240,255,251,.96);
  box-shadow: 0 18px 50px rgba(24,35,61,.18);
  backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 750;
  animation: progressToastIn 280ms ease-out;
}

@keyframes progressToastIn { from { opacity: 0; transform: translateY(12px); } }

@media (max-width: 820px) {
  .journey-card { grid-template-columns: 1fr; gap: 16px; }
  .journey-actions { flex-wrap: wrap; }
}
