
.hb { display: none; }
.hb.hb-on { display: flex; z-index: 40; }
.hb-slot {
  display: flex; align-items: center;
  text-decoration: none; color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
box-shadow: inset 0 2px 0 rgba(234, 247, 238, 0.06),
              inset 0 -2px 0 rgba(0, 0, 0, 0.3);
  transition: transform 0.14s var(--ease), background-color 0.14s var(--ease);
}
.hb-slot:hover { background: var(--surface-2); transform: translate(-1px, -1px); }
.hb-cell {
  flex: none;
  background-color: var(--bg);
  background-repeat: no-repeat;
background-position: center;
  background-size: 72%;
  image-rendering: pixelated;
  border-radius: 3px;
  box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.45);
}
.hb-say { display: flex; flex-direction: column; min-width: 0; }
.hb-name {
  font-family: var(--display); font-weight: 600;
  letter-spacing: -0.01em; line-height: 1.15;
}
.hb-fact {
  color: var(--muted); line-height: 1.25;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden;
}
.hb-lit {
  background: var(--gold-deep); color: var(--gold-ink); border-color: var(--gold-deep);
  box-shadow: inset 0 3px 0 var(--gold),
              inset 0 -3px 0 rgba(26, 18, 4, 0.28),
              3px 3px 0 var(--gold-ink);
}
.hb-lit .hb-fact { color: rgba(26, 18, 4, 0.8); }
.hb-lit:hover {
  background: var(--gold-deep);
  box-shadow: inset 0 3px 0 var(--gold),
              inset 0 -3px 0 rgba(26, 18, 4, 0.28),
              4px 4px 0 var(--gold-ink);
}
.hb-x {
  z-index: 1;
  width: 22px; height: 22px; padding: 0; line-height: 20px; text-align: center;
  font-size: 15px; font-family: var(--display);
  color: var(--muted); background: var(--surface-2);
  border: 1px solid var(--line); border-radius: 4px;
  cursor: pointer;
}
.hb-x:hover { color: var(--text); background: var(--line); }
.hb.hb-on {
  position: fixed; left: 0; right: 0; bottom: 0;
  gap: 6px; padding: 8px;
background: var(--bg);
  border-top: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(234, 247, 238, 0.05);
animation: hb-rise 0.26s var(--ease) both;
}
.hb.hb-on { justify-content: center; }
.hb-slot {
  flex: 1 1 0; min-width: 0; max-width: 300px;
  flex-direction: column; gap: 5px; padding: 9px 6px 10px; text-align: center;
}
.hb-slot:nth-of-type(4) { display: none; }
.hb-sheet body { padding-bottom: 104px; min-height: calc(100vh + 104px); }
.hb.hb-on.hb-bar {
  position: relative; animation: none;
  order: 1; width: 100%; margin-top: 28px;
}
body > footer { order: 2; }
.hb-cell { width: 30px; height: 30px; }
.hb-say { align-items: center; }
.hb-name { font-size: 0.78rem; }
.hb-fact { font-size: 0.68rem; margin-top: 1px; }
.hb-x { position: absolute; top: -14px; right: 8px; width: 26px; height: 26px;
        line-height: 24px; }
@media (min-width: 1280px) {
  .hb.hb-on:not(.hb-bar) {
    left: 10px; right: auto; bottom: auto; top: 50%; transform: translateY(-50%);
    flex-direction: column; gap: 8px; padding: 0;
    width: clamp(88px, calc((100vw - 1084px) / 2 - 8px), 124px);
background: none; border-top: 0; box-shadow: none; animation: none;
  }
  .hb-on:not(.hb-bar) .hb-slot {
    flex: none; max-width: none; gap: 6px; padding: 8px 6px 9px;
  }
  .hb-on:not(.hb-bar) .hb-slot:nth-of-type(4) { display: flex; }
  .hb-on:not(.hb-bar) .hb-cell { width: 40px; height: 40px; }
  .hb-on:not(.hb-bar) .hb-name { font-size: 0.74rem; }
  .hb-on:not(.hb-bar) .hb-fact { font-size: 0.64rem; margin-top: 2px; }
.hb-on:not(.hb-bar) .hb-x {
    position: static; align-self: flex-end; margin-bottom: -2px;
  }
@media (max-height: 700px) {
    .hb-on:not(.hb-bar) .hb-slot:nth-of-type(4) { display: none; }
  }
  @media (max-height: 600px) {
    .hb-on:not(.hb-bar) .hb-slot:nth-of-type(3) { display: none; }
  }
}
@keyframes hb-rise {
  from { transform: translateY(calc(100% + 14px)); }
  to { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hb.hb-on { animation: none; transform: translateY(0); }
  @media (min-width: 1280px) {
    .hb.hb-on:not(.hb-bar) { transform: translateY(-50%); }
  }
}
.hb-i-ingot {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect x='2' y='2' width='4' height='1' fill='%23ffe6ab'/%3E%3Crect x='1' y='3' width='6' height='2' fill='%23ffc65c'/%3E%3Crect x='1' y='5' width='6' height='1' fill='%23c98d22'/%3E%3C/svg%3E");
}
.hb-i-robux {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect x='2' y='0' width='4' height='1' fill='%23ffe6ab'/%3E%3Crect x='1' y='1' width='6' height='1' fill='%23ffc65c'/%3E%3Crect x='0' y='2' width='8' height='4' fill='%23ffc65c'/%3E%3Crect x='1' y='6' width='6' height='1' fill='%23c98d22'/%3E%3Crect x='2' y='7' width='4' height='1' fill='%23c98d22'/%3E%3Crect x='3' y='3' width='2' height='2' fill='%2306120a'/%3E%3C/svg%3E");
}
.hb-i-star {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cg fill='%23ffc65c'%3E%3Crect x='3' y='0' width='2' height='2'/%3E%3Crect x='0' y='2' width='8' height='1'/%3E%3Crect x='1' y='3' width='6' height='1'/%3E%3Crect x='2' y='4' width='4' height='1'/%3E%3Crect x='1' y='5' width='2' height='2'/%3E%3Crect x='5' y='5' width='2' height='2'/%3E%3C/g%3E%3C/svg%3E");
}
.hb-i-chat {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cg fill='%23cfeccd'%3E%3Crect x='1' y='0' width='6' height='1'/%3E%3Crect x='0' y='1' width='8' height='4'/%3E%3Crect x='1' y='5' width='6' height='1'/%3E%3Crect x='2' y='6' width='2' height='2'/%3E%3C/g%3E%3Cg fill='%2306120a'%3E%3Crect x='2' y='2' width='1' height='1'/%3E%3Crect x='4' y='2' width='1' height='1'/%3E%3C/g%3E%3C/svg%3E");
}
.hb-i-lock {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cg fill='%23cfeccd'%3E%3Crect x='2' y='0' width='4' height='1'/%3E%3Crect x='2' y='1' width='1' height='2'/%3E%3Crect x='5' y='1' width='1' height='2'/%3E%3Crect x='1' y='3' width='6' height='4'/%3E%3C/g%3E%3Crect x='3' y='4' width='2' height='2' fill='%2306120a'/%3E%3C/svg%3E");
}
