/* Ask the Academy — glass chat widget */
.academy-chat-fab {
  position: fixed; bottom: 24px; right: 24px; z-index: 60;
  display: grid; place-items: center; gap: 0;
  border: none; cursor: pointer;
  width: 58px; height: 58px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary, #0053FD), var(--psyche-blue, #1540B1));
  color: #fff; font-size: 24px;
  box-shadow: 0 10px 30px rgba(0,83,253,0.35);
  transition: transform .2s, box-shadow .2s;
}
.academy-chat-fab:hover { transform: translateY(-2px) scale(1.04); }

.academy-chat {
  position: fixed; bottom: 96px; right: 24px; z-index: 61;
  width: 380px; max-width: calc(100vw - 48px);
  height: 520px; max-height: calc(100vh - 140px);
  display: flex; flex-direction: column;
  background: var(--glass-strong, rgba(255,255,255,0.72));
  border: 1px solid var(--glass-border-strong, rgba(0,83,253,0.35));
  border-radius: 24px;
  backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%);
  box-shadow: var(--shadow-hover, 0 24px 60px rgba(0,83,253,0.16));
  overflow: hidden;
  font-family: var(--sans, -apple-system, system-ui, sans-serif);
  color: var(--ink, #17171A);
  transition: transform .25s, opacity .25s;
}
.academy-chat.hidden { transform: translateY(16px); opacity: 0; pointer-events: none; }

.academy-chat-head {
  padding: 16px 18px 12px; border-bottom: 1px solid var(--glass-border, rgba(255,255,255,0.65));
  display: flex; align-items: center; gap: 10px;
}
.academy-chat-head .title { font-family: var(--serif, Georgia, serif); font-size: 17px; font-weight: 600; flex: 1; }
.academy-chat-head .close { border: none; background: none; cursor: pointer; color: var(--muted, #5C5C6E); font-size: 16px; }

.academy-chat-body {
  flex: 1; overflow-y: auto; padding: 16px 18px;
  display: flex; flex-direction: column; gap: 10px;
  font-size: 14px; line-height: 1.55; font-weight: 300;
}
.academy-msg { max-width: 86%; padding: 10px 14px; border-radius: 16px; white-space: pre-wrap; }
.academy-msg.bot {
  align-self: flex-start;
  background: var(--glass, rgba(255,255,255,0.55)); color: var(--ink, #17171A);
  border: 1px solid var(--glass-border, rgba(255,255,255,0.65));
}
.academy-msg.user {
  align-self: flex-end;
  background: linear-gradient(135deg, var(--primary, #0053FD), var(--psyche-blue, #1540B1));
  color: #fff;
}
.academy-msg .src { display: block; margin-top: 8px; font-family: var(--mono, monospace); font-size: 11px; opacity: .7; }
.academy-msg .typing { color: var(--muted, #5C5C6E); font-style: italic; }

.academy-chat-input {
  display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid var(--glass-border, rgba(255,255,255,0.65));
}
.academy-chat-input input {
  flex: 1; border: 1px solid var(--glass-border-strong, rgba(0,83,253,0.35));
  border-radius: 999px; padding: 10px 16px; font-size: 13.5px; font-weight: 300;
  background: var(--glass, rgba(255,255,255,0.55)); color: var(--ink, #17171A);
  outline: none; font-family: inherit;
}
.academy-chat-input input::placeholder { color: var(--muted, #5C5C6E); }
.academy-chat-input button {
  border: none; cursor: pointer; border-radius: 999px; padding: 0 18px;
  background: linear-gradient(135deg, var(--primary, #0053FD), var(--psyche-blue, #1540B1));
  color: #fff; font-size: 14px; font-weight: 600;
}
