/* RugCheck-inspired home composition: mascot, scanner, actions, token rail. */
.home-terminal {
  position: relative;
  z-index: 2;
  padding: 1.25rem 0 0.5rem;
  overflow: visible;
}

.home-terminal .stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "title"
    "art"
    "finder"
    "actions"
    "message";
  justify-items: center;
  align-content: center;
  text-align: center;
}

.home-title {
  grid-area: title;
  position: relative;
  z-index: 5;
  margin: 7px 0 0;
  color: var(--hero);
  font-size: 1.5rem;
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.hero-art.home-hero-art {
  grid-area: art;
  position: relative;
  isolation: isolate;
  width: min(100%, 34.848rem);
  min-height: 0;
  margin: 0.75rem auto 0;
  overflow: visible;
}
.home-hero-art::before {
  width: min(32rem, 80vw);
  height: min(24rem, 62vw);
  background: radial-gradient(ellipse, color-mix(in srgb, var(--y) 16%, transparent), transparent 68%);
  filter: blur(14px);
}
.home-hero-art::after {
  content: "";
  position: absolute;
  z-index: 3;
  right: 7%;
  bottom: 1.4rem;
  left: 7%;
  height: 2.75rem;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg) 82%, transparent) 72%, var(--bg));
  pointer-events: none;
}
.home-hero-art img {
  position: relative;
  z-index: 2;
  width: min(31.68rem, 97.152vw);
  margin: 0 auto;
  filter: drop-shadow(0 1.25rem 1.75rem rgba(0, 0, 0, .52));
}
.home-hero-art .watermark {
  --wm: clamp(5rem, 14vw, 11.25rem);
  z-index: 0;
  top: calc(12% - 8px);
  left: 50%;
  right: auto;
  width: max-content;
  max-width: 100vw;
  justify-content: center;
  gap: calc(var(--wm) * 2 / 3);
  padding-inline: 0;
  transform: translateX(-50%);
  opacity: .8;
}
.home-hero-art .watermark span {
  font-family: var(--font-display);
  font-optical-sizing: none;
  font-size: var(--wm);
  font-weight: 900 !important;
  letter-spacing: .01em;
  color: color-mix(in srgb, var(--y) 7%, transparent);
}

.home-terminal .finder {
  grid-area: finder;
  position: relative;
  z-index: 6;
  width: min(100%, 32rem);
  margin: -20px auto 0;
}
.home-terminal .search {
  min-height: 56px;
  border-radius: 18px;
  border-color: color-mix(in srgb, var(--y) 56%, transparent);
  background: color-mix(in srgb, var(--s1) 91%, transparent);
  box-shadow: 0 1rem 2.75rem rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .12);
  backdrop-filter: blur(18px) saturate(1.1);
}
.home-terminal .search-mark {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--y) 9%, transparent);
}
.home-terminal .search-mark svg { width: 24px; height: 24px; }
.home-terminal .search input { height: 40px; font-size: .95rem; }
.home-terminal .search-go { width: 46px; height: 46px; }
.home-terminal .trend { z-index: 40; top: calc(100% + .65rem); border-radius: 14px; }

.home-terminal .hero-actions {
  grid-area: actions;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: stretch;
  width: min(100%, 19.5rem);
  margin: 1rem auto 0;
  gap: .7rem;
}
.home-terminal .hero-actions .hero-btn {
  appearance: none;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 48px;
  min-height: 44px;
  max-width: none;
  margin: 0;
  padding: 0 1.25rem;
  border-radius: 12px;
  font-size: 13px;
  letter-spacing: .08em;
  line-height: 1;
}
.home-terminal .hero-btn-check { color: #e9db5a; }
.home-terminal .hero-btn-side { color: #cacacb; }
.home-terminal .form-msg {
  grid-area: message;
  z-index: 5;
  max-width: 39rem;
  text-align: center;
}

.home-terminal + .ticker { padding: 1.5rem 0 1.25rem; }
.home-terminal + .ticker .ticker-label {
  gap: .55rem;
  margin-bottom: .75rem;
  font-size: 1.625rem;
}
.home-terminal + .ticker .ticker-label::after {
  content: "";
  height: 1px;
  min-width: 2rem;
  flex: 1;
  background: linear-gradient(90deg, var(--line), transparent);
}
.home-terminal + .ticker .ticker-label svg { width: 1.755rem; height: 1.755rem; }
.home-terminal + .ticker .tick { background: color-mix(in srgb, var(--s1) 92%, transparent); }

html[data-theme="light"] .home-terminal .search {
  background: color-mix(in srgb, #fff 92%, transparent);
  box-shadow: 0 1rem 2.75rem rgba(35, 28, 9, .14), inset 0 1px 0 #fff;
}
html[data-theme="light"] .home-hero-art::after {
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg) 78%, transparent) 72%, var(--bg));
}

@media (max-width: 640px) {
  .home-terminal { padding: 1rem 0 .25rem; }
  .home-title { font-size: 1.25rem; }
  .home-hero-art { width: min(100%, 25.344rem); margin-top: .5rem; }
  .home-hero-art img { width: min(23.76rem, 97.152vw); }
  .home-hero-art::after { right: 0; bottom: .35rem; left: 0; height: 2.25rem; }
  .home-hero-art .watermark { --wm: clamp(3.75rem, 16vw, 7.5rem); top: calc(18% - 8px); padding-inline: 0; }
  .home-terminal .finder,
  .home-terminal .hero-actions { width: 100%; }
  .home-terminal .search { min-height: 52px; border-radius: 16px; }
  .home-terminal .search input { height: 38px; font-size: .9rem; }
  .home-terminal .hero-actions { margin-top: .85rem; gap: .6rem; }
  .home-terminal .hero-btn { min-height: 44px; font-size: .75rem; }
  .home-terminal + .ticker { padding-top: 1.25rem; }
  .home-terminal + .ticker .ticker-label { font-size: 1.43rem; }
  .home-terminal + .ticker .marquee { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; mask-image: none; }
  .home-terminal + .ticker .marquee::-webkit-scrollbar { display: none; }
  .home-terminal + .ticker .tick-run { animation: none !important; }
  .home-terminal + .ticker .tick { scroll-snap-align: start; }
}

@media (prefers-reduced-motion: reduce) {
  .home-terminal * { animation: none !important; transition-duration: .01ms !important; }
}
