/* Ultrik: frameless translucent ultramarine glass matching site cards & header capsules */
:root .ultra-mascot__launch {
  position: absolute; left: 40%; right: 21%; top: 14%; bottom: 4%;
  padding: 0; border: 0; border-radius: 32px; background: transparent;
  pointer-events: none;
}
.ultra-mascot__launch:focus-visible { outline: 2px solid #82c4ff; outline-offset: 5px; }
.ultra-mascot[data-chat-open="true"] .ultra-mascot__speech { opacity: 0; visibility: hidden; }
:root .ultrik-chat {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom), calc(var(--ultrik-keyboard-inset, 0px) + 12px));
  z-index: 1200;
  display: flex;
  flex-direction: column;
  width: 420px;
  height: min(650px, calc(100dvh - 40px), var(--ultrik-visible-height, 100dvh));
  max-width: calc(100vw - 32px);
  min-height: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 24px;
  color: #f4f7ff;
  background: rgba(6, 20, 78, .28) !important;
  box-shadow: 0 12px 32px rgba(0, 5, 30, .18) !important;
  backdrop-filter: blur(12px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
  font-family: "Satoshi", "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  animation: ultrik-chat-enter .3s cubic-bezier(.22, 1, .36, 1);
}
.ultrik-chat[hidden], .ultrik-chat [hidden] { display: none !important; }
.ultrik-chat:focus { outline: none; }
.ultrik-chat button, .ultrik-chat textarea { font: inherit; }
.ultrik-chat button { cursor: pointer; }
.ultrik-chat button:focus-visible, .ultrik-chat a:focus-visible, .ultrik-chat textarea:focus-visible {
  outline: 2px solid #82c4ff; outline-offset: 3px;
}
.ultrik-chat__header {
  display: flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 14px 16px 2px 18px;
  border-bottom: 0;
  background: transparent;
  cursor: grab; user-select: none; touch-action: none;
}
.ultrik-chat__header .ultrik-avatar,
.ultrik-chat__identity { display: none !important; }
.ultrik-chat__header [data-ultrik-settings] { margin-left: auto; }
.ultrik-chat[data-dragging="true"] .ultrik-chat__header { cursor: grabbing; }
.ultrik-chat__grip { flex: 0 0 10px; width: 10px; height: 20px; color: rgba(191, 215, 255, .48); }
.ultrik-chat__grip svg { width: 100%; height: 100%; }
.ultrik-avatar {
  position: relative; display: block; flex: 0 0 36px; width: 36px; height: 36px; overflow: hidden;
  border: 0; border-radius: 50%;
  background: radial-gradient(circle at 45% 30%, rgba(56, 122, 232, .48), rgba(8, 26, 94, .64) 80%);
  box-shadow: 0 6px 18px rgba(0, 5, 28, .18);
}
.ultrik-avatar img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ultrik-chat__icon-button {
  display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; padding: 8px;
  border: 0; border-radius: 999px; background: rgba(8, 26, 94, .26); color: #d5e4ff;
  box-shadow: 0 6px 18px rgba(0, 5, 28, .12);
  transition: background .22s cubic-bezier(.22, 1, .36, 1), color .22s cubic-bezier(.22, 1, .36, 1), transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-chat__icon-button svg { width: 18px; height: 18px; }
.ultrik-chat__icon-button:hover, .ultrik-chat__icon-button[aria-expanded="true"] {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  color: #fff; transform: scale(1.05);
}
.ultrik-chat__settings {
  position: absolute; top: 60px; right: 16px; z-index: 4; width: 256px; max-width: calc(100% - 32px);
  padding: 12px; border: 0; border-radius: 20px;
  background: rgba(8, 26, 94, .38);
  box-shadow: 0 12px 32px rgba(0, 5, 30, .22);
  backdrop-filter: blur(16px) saturate(145%);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
}
.ultrik-chat__settings button {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 14px; border: 0; border-radius: 999px;
  background: linear-gradient(135deg, rgba(58, 134, 255, .38) 0%, rgba(24, 76, 232, .30) 100%);
  color: #f4f7ff; font-weight: 500; text-align: left;
  transition: background .2s ease, transform .22s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-chat__settings button:hover {
  background: linear-gradient(135deg, rgba(72, 148, 255, .48) 0%, rgba(32, 88, 242, .40) 100%);
  transform: scale(1.015);
}
.ultrik-chat__settings svg { width: 18px; height: 18px; }
.ultrik-chat__settings p { margin: 10px 8px 4px; color: #cbdaf5; font-size: 12px; line-height: 1.55; }
.ultrik-chat__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(120, 175, 255, .3) transparent; }
.ultrik-chat__welcome { display: flex; flex-direction: column; align-items: center; padding: 6px 22px 18px; text-align: center; }
.ultrik-chat__welcome-art { position: relative; display: grid; place-items: center; width: 96px; height: 90px; margin-bottom: 8px; }
.ultrik-chat__welcome-art::before { position: absolute; inset: -18px; border-radius: 50%; background: radial-gradient(circle, rgba(58, 134, 255, .26), transparent 68%); content: ""; pointer-events: none; }
.ultrik-chat__welcome-art .ultrik-avatar { width: 82px; height: 82px; flex-basis: 82px; box-shadow: 0 10px 26px rgba(0, 5, 28, .24); }
.ultrik-chat__spark { display: none !important; }
.ultrik-chat__eyebrow { color: #bfd7ff; font-size: 10.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ultrik-chat__welcome h3 { margin: 6px 0 8px; color: #f4f7ff; font-size: 26px; font-weight: 500; letter-spacing: .01em; line-height: 1.2; }
.ultrik-chat__welcome > p { max-width: 340px; margin: 0; color: #cbdaf5; font-size: 14px; font-weight: 400; line-height: 1.55; }
.ultrik-chat__suggestions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 18px; }
.ultrik-chat__suggestions button {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 12px 16px;
  border: 0 !important; border-radius: 18px;
  background: rgba(8, 26, 94, .26);
  color: #f4f7ff; text-align: left; font-size: 14px; font-weight: 500; letter-spacing: .01em; line-height: 1.25;
  box-shadow: 0 8px 24px rgba(0, 5, 28, .14);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  transition: background .25s cubic-bezier(.22, 1, .36, 1), transform .28s cubic-bezier(.34, 1.56, .64, 1), box-shadow .25s ease;
}
.ultrik-chat__suggestions button:hover {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(16, 62, 224, .22);
}
.ultrik-chat__suggestions svg { display: none !important; }
.ultrik-chat__suggestions button > span:last-child { margin-left: auto; color: rgba(214, 232, 255, .72); font-size: 13px; }
.ultrik-chat__scripts-section { width: 100%; margin-top: 18px; text-align: left; }
.ultrik-chat__scripts-title { display: block; margin-bottom: 10px; color: #bfd7ff; font-size: 10.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ultrik-chat__script-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ultrik-script-card {
  display: flex; align-items: flex-start; gap: 8px; padding: 14px 16px;
  border: 0 !important; border-radius: 18px;
  background: rgba(8, 26, 94, .26); color: #f4f7ff; text-align: left;
  box-shadow: 0 8px 24px rgba(0, 5, 28, .14);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  transition: background .24s cubic-bezier(.22, 1, .36, 1), transform .28s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-script-card:hover {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  transform: translateY(-2px);
}
.ultrik-script-card__icon { display: none !important; }
.ultrik-script-card strong { display: block; font-size: 13.5px; font-weight: 500; letter-spacing: .01em; line-height: 1.3; color: #f4f7ff; }
.ultrik-script-card small { display: block; margin-top: 4px; font-size: 12px; color: #cbdaf5; line-height: 1.4; }
.ultrik-chat__messages { display: flex; flex-direction: column; gap: 16px; padding: 16px 20px; }
.ultrik-chat__messages:empty { display: none; }
.ultrik-message { display: flex; gap: 10px; align-items: flex-start; }
.ultrik-message .ultrik-avatar { flex-basis: 32px; width: 32px; height: 32px; margin-top: 2px; }
.ultrik-message__content { min-width: 0; max-width: calc(100% - 42px); }
.ultrik-message__content > p { margin: 0; color: #e6f0ff; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; }
.ultrik-message__mode { display: block; margin-bottom: 6px; color: #bfd7ff; font-size: 10.5px; letter-spacing: .04em; }
.ultrik-chat__thinking { color: #cbdaf5 !important; animation: ultrik-thinking 1.4s ease-in-out infinite alternate; }
@keyframes ultrik-thinking { to { opacity: .5; } }
.ultrik-message--user { justify-content: flex-end; }
.ultrik-message--user .ultrik-message__content {
  max-width: 88%; padding: 11px 16px; border: 0; border-radius: 20px 20px 6px 20px;
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  box-shadow: 0 6px 18px rgba(16, 62, 224, .2);
}
.ultrik-message--user .ultrik-message__content > p { color: #f4f7ff; }
.ultrik-message__links { display: grid; gap: 8px; margin-top: 12px; }
.ultrik-message__links a {
  display: block; padding: 12px 14px; border: 0; border-radius: 18px;
  background: rgba(8, 26, 94, .26); color: #f4f7ff; text-decoration: none;
  box-shadow: 0 6px 18px rgba(0, 5, 28, .12);
  transition: background .2s ease, transform .22s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-message__links a:hover {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  transform: translateY(-1px);
}
.ultrik-message__links strong { display: block; font-size: 13.5px; font-weight: 500; line-height: 1.35; }
.ultrik-message__links small { display: block; margin-top: 3px; color: #cbdaf5; font-size: 11.5px; line-height: 1.45; }
.ultrik-chat__composer { flex: 0 0 auto; padding: 6px 18px 14px; border-top: 0; background: transparent; }
.ultrik-chat__quick-bar { display: flex; gap: 6px; overflow-x: auto; overscroll-behavior: contain; padding: 2px 2px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ultrik-chat__quick-bar::-webkit-scrollbar { display: none; }
.ultrik-quick-chip {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 8px 15px;
  border: 0 !important; border-radius: 999px;
  background: rgba(8, 26, 94, .26); color: #e6f0ff;
  box-shadow: 0 6px 18px rgba(0, 5, 28, .12);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  font-size: 13px; font-weight: 500; letter-spacing: -.005em; line-height: 1.2; white-space: nowrap;
  transition: background .22s cubic-bezier(.22, 1, .36, 1), color .22s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-quick-chip:hover {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  color: #fff; transform: translateY(-1px);
}
.ultrik-chat__input-wrap {
  display: flex; align-items: center; gap: 6px; padding: 6px 8px 6px 18px;
  border: 0 !important; border-radius: 999px;
  background: rgba(8, 26, 94, .28);
  box-shadow: 0 8px 24px rgba(0, 5, 28, .15);
  backdrop-filter: blur(12px) saturate(145%);
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  transition: background .22s ease, box-shadow .22s ease;
}
.ultrik-chat__input-wrap:focus-within {
  background: rgba(12, 36, 122, .38);
  box-shadow: 0 10px 28px rgba(10, 42, 160, .24);
}
.ultrik-chat__input-wrap textarea { display: block; flex: 1; min-width: 0; min-height: 36px; max-height: 110px; margin: 0; padding: 7px 0; border: 0; border-radius: 0; outline: none; background: transparent; color: #f4f7ff; resize: none; font-size: 14px; font-weight: 450; line-height: 22px; scrollbar-width: thin; }
.ultrik-chat__input-wrap textarea:focus-visible { outline: none; }
.ultrik-chat__input-wrap textarea::placeholder { color: #b9cff0; opacity: 1; }
.ultrik-chat__voice {
  display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; padding: 8px;
  border: 0 !important; border-radius: 999px;
  background: rgba(8, 26, 94, .26); color: #d5e4ff;
  transition: background .22s ease, color .22s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-chat__voice svg { width: 18px; height: 18px; }
.ultrik-chat__voice:hover {
  background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%);
  color: #fff; transform: scale(1.05);
}
.ultrik-chat__voice.is-listening { background: rgba(220, 38, 38, .42); color: #fecaca; animation: ultrik-mic-pulse 1.2s infinite ease-in-out; }
@keyframes ultrik-mic-pulse {
  0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .55); transform: scale(1); }
  50% { box-shadow: 0 0 0 7px rgba(239, 68, 68, 0); transform: scale(1.05); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); transform: scale(1); }
}
.ultrik-chat__send {
  display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; padding: 8px;
  border: 0 !important; border-radius: 999px;
  background: linear-gradient(135deg, rgba(58, 134, 255, .46) 0%, rgba(24, 76, 232, .38) 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(16, 62, 224, .22);
  transition: background .22s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.ultrik-chat__send svg { width: 19px; height: 19px; }
.ultrik-chat__send:hover:enabled {
  background: linear-gradient(135deg, rgba(78, 152, 255, .58) 0%, rgba(32, 92, 245, .48) 100%);
  transform: scale(1.05);
}
.ultrik-chat__send:disabled {
  background: rgba(8, 26, 94, .22) !important;
  color: rgba(190, 214, 248, .45) !important;
  box-shadow: none;
  cursor: default;
}
.ultrik-chat__footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: #b9cff0; font-size: 11px; line-height: 1.4; }
.ultrik-chat__footer button { padding: 0; border: 0; border-radius: 3px; background: none; color: #d5e4ff; font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }
@keyframes ultrik-chat-enter { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
  :root .ultrik-chat { right: 12px; bottom: max(12px, env(safe-area-inset-bottom), calc(var(--ultrik-keyboard-inset, 0px) + 12px)); width: calc(100vw - 24px); max-width: none; height: min(650px, calc(100dvh - 24px), var(--ultrik-visible-height, 100dvh)); border-radius: 22px; }
  .ultrik-chat__header { gap: 10px; padding: 14px 14px 4px; }
  .ultrik-chat__grip { display: none; }
  .ultrik-chat__welcome { padding: 14px 18px 18px; }
  .ultrik-chat__input-wrap textarea { font-size: 16px; }
}
@media (max-width: 420px) {
  .ultrik-chat__suggestions, .ultrik-chat__script-chips { grid-template-columns: 1fr; }
}
@media (max-height: 620px) {
  .ultrik-chat__welcome { padding-top: 10px; }
  .ultrik-chat__welcome h3 { font-size: 22px; }
  .ultrik-chat__suggestions { margin-top: 14px; }
}
.ultrik-message__markdown { font-size: 14px; line-height: 1.62; color: #e6f0ff; }
.ultrik-md-p { margin: 0 0 10px; }
.ultrik-md-p:last-child { margin-bottom: 0; }
.ultrik-md-h3 { margin: 12px 0 6px; font-size: 15px; font-weight: 500; color: #bfd7ff; letter-spacing: -.01em; }
.ultrik-md-h4 { margin: 10px 0 4px; font-size: 14px; font-weight: 500; color: #d5e4ff; }
.ultrik-md-list { margin: 6px 0 10px; padding-left: 20px; }
.ultrik-md-list li { margin-bottom: 4px; line-height: 1.55; }
.ultrik-md-code { padding: 2px 6px; border-radius: 6px; background: rgba(255, 255, 255, .12); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: #bfd7ff; }
.ultrik-cite-group { display: inline-flex; gap: 3px; vertical-align: baseline; }
.ultrik-cite-num { display: inline-block; padding: 0 2px; color: #8ac4ff; font-weight: 500; font-size: 12px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ultrik-cite-num:hover { color: #c9e6ff; }
.ultrik-script-quote { margin: 11px 0; padding: 12px 15px; border: 0; border-radius: 18px; background: rgba(8, 26, 94, .28); box-shadow: 0 6px 16px rgba(0, 5, 28, .14); }
.ultrik-script-badge { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; color: #bfd7ff; font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.ultrik-script-body { color: #f4f7ff; font-style: italic; font-size: 13.5px; line-height: 1.55; }
.ultrik-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ultrik-action-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 0; border-radius: 999px; background: rgba(8, 26, 94, .28); color: #f4f7ff; font-size: 12.5px; font-weight: 500; transition: all .22s cubic-bezier(.34, 1.56, .64, 1); }
.ultrik-action-btn:hover { background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%); transform: translateY(-1px); color: #fff; }
.ultrik-action-icon { display: flex; align-items: center; color: #bfd7ff; }
.ultrik-followups { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; padding-top: 10px; border-top: 0; }
.ultrik-chip { padding: 6px 13px; border: 0; border-radius: 999px; background: rgba(8, 26, 94, .26); color: #d5e4ff; font-size: 12px; font-weight: 500; text-align: left; transition: all .22s cubic-bezier(.34, 1.56, .64, 1); }
.ultrik-chip:hover { background: linear-gradient(135deg, rgba(58, 134, 255, .42) 0%, rgba(24, 76, 232, .34) 100%); color: #fff; transform: translateY(-1px); }
.ultrik-message__links a.is-highlighted { background: rgba(90, 155, 255, .38); box-shadow: 0 0 16px rgba(100, 170, 255, .36); transition: all .3s; }
@media (prefers-reduced-motion: reduce) { .ultrik-chat, .ultrik-chat__thinking { animation: none; } }
/* Preserve conversational formatting and identify an offline search honestly. */
.ultrik-message__availability { font-size: 11px; line-height: 1.5; color: #cbdaf5; margin: 5px 0 10px; }
.ultrik-md-pre { max-width: 100%; overflow-x: auto; white-space: pre; background: rgba(6, 20, 58, .45); border: 0; border-radius: 16px; padding: 13px; margin: 10px 0; color: #d6eaff; font: 12px/1.7 ui-monospace,monospace; }
.ultrik-md-pre code { font: inherit; }
