.public-tracky {
  --tracky-bg: #07192b;
  --tracky-surface: #102b47;
  --tracky-surface-2: #142f4c;
  --tracky-cyan: #28c8ff;
  --tracky-green: #42dda4;
  --tracky-text: #f4f9ff;
  --tracky-muted: #9db3ca;
  --tracky-line: rgba(111, 197, 240, .18);
  position: fixed;
  right: 18px;
  bottom: 8px;
  z-index: 2000;
  color: var(--tracky-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
}

.public-tracky *,
.public-tracky *::before,
.public-tracky *::after { box-sizing: border-box; }
.public-tracky [hidden] { display: none !important; }
.public-tracky button,
.public-tracky input { font: inherit; }
.public-tracky button { cursor: pointer; }

.public-tracky .tracky-launcher {
  position: relative;
  display: block;
  width: 145px;
  height: 168px;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  filter: drop-shadow(0 18px 19px rgba(0, 0, 0, .5));
}

.public-tracky .tracky-body {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.public-tracky .tracky-closed {
  z-index: 2;
  opacity: 0;
  animation: trackyPublicBlink 5.7s 1.8s infinite;
}

.public-tracky .tracky-bubble {
  position: absolute;
  right: 125px;
  bottom: 128px;
  width: 225px;
  padding: 10px 13px;
  border: 1px solid rgba(40, 200, 255, .35);
  border-radius: 13px 13px 3px 13px;
  background: rgba(11, 34, 56, .97);
  box-shadow: 0 15px 42px rgba(0, 0, 0, .4);
  color: var(--tracky-text);
  font-size: 12px;
  font-weight: 750;
}

.public-tracky .tracky-panel {
  position: absolute;
  right: 5px;
  bottom: 162px;
  display: flex;
  width: min(410px, calc(100vw - 26px));
  max-height: min(610px, calc(100vh - 190px));
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(40, 200, 255, .32);
  border-radius: 18px;
  background: rgba(7, 25, 43, .985);
  box-shadow: 0 28px 75px rgba(0, 0, 0, .48);
}

.public-tracky .tracky-panel > header {
  display: grid;
  min-height: 68px;
  padding: 9px 12px;
  grid-template-columns: 45px 1fr 38px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--tracky-line);
  background: var(--tracky-surface);
}

.public-tracky .mini-avatar {
  display: grid;
  width: 43px;
  height: 43px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(40, 200, 255, .35);
  border-radius: 50%;
  background: #081827;
}

.public-tracky .mini-avatar img { width: 50px; transform: translateY(4px); }
.public-tracky .tracky-panel header strong,
.public-tracky .tracky-panel header small { display: block; }
.public-tracky .tracky-panel header small { color: var(--tracky-green); font-size: 11px; }
.public-tracky .tracky-panel header small span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--tracky-green); }
.public-tracky .tracky-panel header button { width: 35px; height: 35px; border: 0; border-radius: 9px; background: rgba(255, 255, 255, .05); color: #b8c9d9; font-size: 21px; }

.public-tracky .tracky-messages {
  display: flex;
  min-height: 220px;
  padding: 15px;
  overflow-y: auto;
  flex-direction: column;
  gap: 10px;
}

.public-tracky .tracky-message { max-width: 88%; padding: 10px 12px; border-radius: 13px; font-size: 13px; line-height: 1.45; }
.public-tracky .tracky-message.is-tracky { align-self: flex-start; border: 1px solid rgba(150, 190, 225, .14); border-radius: 5px 13px 13px; background: var(--tracky-surface-2); }
.public-tracky .tracky-message.is-user { align-self: flex-end; border-radius: 13px 5px 13px 13px; background: linear-gradient(135deg, #24c6ff, #078dd8); color: #03131f; font-weight: 700; }
.public-tracky .message-actions { display: flex; margin-top: 9px; flex-wrap: wrap; gap: 7px; }
.public-tracky .message-actions a,
.public-tracky .message-actions button { padding: 7px 9px; border: 1px solid rgba(40, 200, 255, .4); border-radius: 8px; background: rgba(40, 200, 255, .08); color: #aeeaff; font-size: 11px; font-weight: 800; text-decoration: none; }

.public-tracky .tracky-suggestions { display: flex; padding: 0 12px 11px; overflow-x: auto; gap: 7px; }
.public-tracky .tracky-suggestions button { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(40, 200, 255, .35); border-radius: 999px; background: rgba(40, 200, 255, .07); color: #bcecff; font-size: 11px; }
.public-tracky .tracky-form { display: grid; padding: 10px; grid-template-columns: 1fr 44px; gap: 8px; border-top: 1px solid var(--tracky-line); }
.public-tracky .tracky-form input { min-width: 0; height: 43px; padding: 0 12px; border: 1px solid rgba(40, 200, 255, .43); border-radius: 10px; outline: none; background: #061522; color: var(--tracky-text); }
.public-tracky .tracky-form input:focus { border-color: var(--tracky-cyan); box-shadow: 0 0 0 3px rgba(40, 200, 255, .09); }
.public-tracky .tracky-form button { border: 0; border-radius: 10px; background: var(--tracky-cyan); color: #031522; font-size: 20px; font-weight: 900; }
.public-tracky .tracky-privacy { margin: 0; padding: 0 12px 10px; color: #68849e; font-size: 9px; text-align: center; }
.public-tracky .tracky-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@keyframes trackyPublicBlink {
  0%, 44%, 47%, 100% { opacity: 0; }
  45%, 46% { opacity: 1; }
}

@media (max-width: 600px) {
  .public-tracky { right: 5px; }
  .public-tracky .tracky-launcher { width: 116px; height: 135px; }
  .public-tracky .tracky-panel { right: 3px; bottom: 132px; }
  .public-tracky .tracky-bubble { right: 101px; bottom: 102px; width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-tracky *,
  .public-tracky *::before,
  .public-tracky *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
