/* =====================================================
ARI DESIGN SYSTEM V1 — HOME
===================================================== */

.ari-v1-home {
  max-width: 430px;
  margin: 0 auto;
  min-height: 100vh;
  padding: 10px 14px 100px;
  background:
    radial-gradient(circle at 50% 6%, rgba(34, 211, 238, 0.20), transparent 30%),
    radial-gradient(circle at 18% 22%, rgba(59, 130, 246, 0.14), transparent 32%),
    linear-gradient(180deg, #06111f 0%, #07182b 46%, #040b18 100%);
  color: #f4f8ff;
  position: relative;
  overflow-x: hidden;
}

.ari-v1-home::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.26;
  background-image:
    linear-gradient(rgba(34,211,238,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,211,238,0.045) 1px, transparent 1px);
  background-size: 34px 34px;
}

/* Header */

.ari-header {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 30;
}

.ari-header .menu-btn,
.ari-header .profile-btn {
  margin: 0;
  height: 46px;
  min-width: 54px;
  border-radius: 18px;
  border: 1px solid rgba(125, 211, 252, 0.45);
  background: rgba(8, 18, 37, 0.72);
  color: white;
  font-weight: 950;
  box-shadow: 0 0 18px rgba(34, 211, 238, 0.14);
}

.ari-header .profile-btn {
  min-width: 88px;
  font-size: 14px;
}

.ari-brand-center {
  position: absolute;
  left: 50%;
  top: 8px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ari-wordmark {
  color: #22d3ee;
  text-decoration: none;
  font-size: 38px;
  font-weight: 950;
  letter-spacing: 0.16em;
  line-height: 0.95;
  text-shadow:
    0 0 12px rgba(34, 211, 238, 0.45),
    0 0 28px rgba(34, 211, 238, 0.20);
}

.ari-engine-line {
  margin: 4px 0 0;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.32em;
  color: rgba(244, 248, 255, 0.82);
  white-space: nowrap;
}

.ari-engine-line span {
  color: #22d3ee;
  text-shadow: 0 0 12px rgba(34, 211, 238, 0.55);
}

/* Header avatar hidden at first */

.ari-header-avatar-shell {
  display: none;
  width: 42px;
  height: 42px;
  margin-bottom: 4px;
  border-radius: 50%;
  border: 1px solid rgba(34, 211, 238, 0.65);
  background: rgba(8, 18, 37, 0.8);
  box-shadow:
    0 0 18px rgba(34, 211, 238, 0.30),
    inset 0 1px 0 rgba(255,255,255,0.14);
  overflow: hidden;
}

.ari-header-avatar-shell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.conversation-mode .ari-header-avatar-shell {
  display: block;
  animation: avatarArrive 0.55s ease both;
}

/* Welcome mode */

.ari-welcome {
  position: relative;
  z-index: 3;
  min-height: calc(100vh - 190px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 82px;
  transition: opacity 0.45s ease, transform 0.6s ease;
}

.ari-hero-img {
  width: 330px;
  max-width: 92vw;
  height: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 24px 34px rgba(0,0,0,0.45))
    drop-shadow(0 0 18px rgba(34,211,238,0.18));
  animation: ariHeroBreathe 4.6s ease-in-out infinite;
}

.ari-welcome-question {
  margin: 12px 0 0;
  font-size: 23px;
  line-height: 1.15;
  text-align: center;
  color: rgba(244, 248, 255, 0.82);
  font-weight: 850;
  transition: color 0.2s ease;
}

.ari-v1-home:focus-within .ari-welcome-question {
  color: rgba(244, 248, 255, 1);
}

/* Conversation shell */

.ari-conversation-shell {
  position: relative;
  z-index: 5;
  display: none;
  padding: 12px 0 24px;
}

.conversation-mode .ari-welcome {
  opacity: 0;
  transform: translateY(-36px) scale(0.86);
  pointer-events: none;
  position: absolute;
  inset: 72px 0 auto;
}

.conversation-mode .ari-conversation-shell {
  display: block;
  min-height: calc(100vh - 180px);
  padding-bottom: 110px;
  animation: conversationFadeIn 0.45s ease both;
}

.ari-thread {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 8px 2px 24px;
  background: transparent !important;
  border: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.ari-message {
  max-width: 86%;
  padding: 13px 15px;
  border-radius: 20px;
  line-height: 1.45;
}

.ari-message p {
  margin: 4px 0 0;
  color: #f4f8ff;
  font-size: 15px;
  font-weight: 700;
  white-space: pre-wrap;
}

.ari-label {
  display: block;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
}

.ari-ai {
  align-self: flex-start;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(125, 211, 252, 0.14);
}

.ari-ai .ari-label {
  color: #67e8f9;
}

.ari-user {
  align-self: flex-end;
  text-align: right;
  background: rgba(34, 211, 238, 0.14);
  border: 1px solid rgba(34, 211, 238, 0.22);
}

.ari-user .ari-label {
  color: rgba(244,248,255,0.72);
}

/* Bottom input */

.ari-bottom-input {
  position: fixed;
  left: 50%;
  bottom: 0;
  width: 100%;
  max-width: 430px;
  transform: translateX(-50%);
  z-index: 60;
  padding: 12px 14px 18px;
  background:
    linear-gradient(180deg, rgba(4, 11, 24, 0), rgba(4, 11, 24, 0.94) 34%, #040b18 100%);
}

.ari-input-shell {
  width: 100%;
  min-height: 68px;
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 30px;
  background: rgba(8, 18, 37, 0.94);
  border: 1px solid rgba(125, 211, 252, 0.48);
  box-shadow:
    0 0 28px rgba(34, 211, 238, 0.16),
    0 20px 50px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.ari-v1-home #ariInput {
  flex: 1;
  min-height: 44px;
  max-height: 180px;
  resize: none;
  border: none;
  outline: none;
  background: transparent;
  color: white;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
  padding: 9px 0;
}

.ari-v1-home #ariInput::placeholder {
  color: rgba(226, 232, 240, 0.54);
}

.ari-send-btn {
  width: 50px;
  min-width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #2563eb, #22d3ee);
  color: white;
  font-size: 20px;
  font-weight: 950;
  box-shadow: 0 0 22px rgba(34, 211, 238, 0.34);
  cursor: pointer;
}

.ari-send-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Pending action */

.ari-v1-home .pending-action-bar {
  display: none;
  margin-top: 14px;
  padding: 13px;
  border-radius: 18px;
  background: rgba(34, 211, 238, 0.12);
  border: 1px solid rgba(34, 211, 238, 0.32);
}

.ari-v1-home .pending-action-bar.show {
  display: block;
}

.ari-v1-home .pending-action-bar p {
  margin: 0 0 10px;
  color: white;
  font-weight: 900;
}

.ari-v1-home .pending-action-buttons {
  display: flex;
  gap: 8px;
}

.ari-v1-home .pending-action-buttons button {
  flex: 1;
  border: none;
  border-radius: 14px;
  padding: 10px;
  font-weight: 950;
}

/* Thinking ring */

.ari-thinking-mode .ari-header-avatar-shell {
  animation:
    avatarArrive 0.55s ease both,
    avatarThinkingRing 1.2s ease-in-out infinite;
}

/* Side menu preserved */

.ari-side-menu {
  left: -100vw !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  padding: 92px 24px 32px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(34, 211, 238, 0.18), transparent 34%),
    linear-gradient(180deg, #06111f 0%, #07182b 50%, #040b18 100%) !important;
  border-right: none !important;
  overflow-y: auto !important;
  z-index: 9999;
}

.ari-side-menu.open {
  left: 0 !important;
}

.ari-side-menu a {
  font-size: 22px !important;
  padding: 16px 0 !important;
  color: white !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  text-decoration: none;
}

.ari-side-menu .close-menu {
  top: 28px !important;
  right: 30px !important;
  font-size: 34px !important;
  color: white !important;
}

.menu-overlay {
  z-index: 9998;
}

/* Nav dashboard */

.nav-dashboard-card {
  margin: 8px 0 26px;
  padding: 24px 18px 22px;
  border-radius: 32px;
  background: rgba(8, 18, 37, 0.82);
  border: 1px solid rgba(34, 211, 238, 0.38);
  box-shadow:
    0 0 34px rgba(34, 211, 238, 0.15),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.nav-dashboard-label {
  margin: 0 0 12px;
  text-align: center;
  color: #67e8f9;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0.28em;
}

.nav-meter-wrap {
  position: relative;
  height: 210px;
}

.nav-meter {
  width: 100%;
  height: auto;
  overflow: visible;
}

.nav-meter-bg,
.nav-meter-fill {
  fill: none;
  stroke-width: 22;
  stroke-linecap: round;
}

.nav-meter-bg {
  stroke: rgba(148, 163, 184, 0.24);
}

.nav-meter-fill {
  stroke: #22d3ee;
  stroke-dasharray: 100;
  stroke-dashoffset: 0;
  filter:
    drop-shadow(0 8px 12px rgba(34,211,238,0.25))
    drop-shadow(0 0 18px rgba(34,211,238,0.38));
  transition: stroke-dashoffset 0.9s ease, stroke 0.35s ease;
}

.nav-meter-fill.nav-meter-yellow {
  stroke: #f59e0b;
}

.nav-meter-fill.nav-meter-red {
  stroke: #ef4444;
}

.nav-meter-text {
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 90%;
}

.nav-meter-text h2 {
  margin: 0;
  color: white;
  font-size: 64px;
  line-height: 1;
  font-weight: 950;
}

.nav-meter-text span {
  display: block;
  margin-top: 10px;
  color: rgba(226, 232, 240, 0.78);
  font-size: 20px;
  font-weight: 850;
}

.nav-dashboard-link {
  display: block;
  margin-top: 8px;
  text-align: center;
  color: #67e8f9 !important;
  font-size: 16px !important;
  padding: 12px !important;
  border-radius: 18px;
  background: rgba(34, 211, 238, 0.10);
  border-bottom: none !important;
}

/* Animations */

@keyframes ariHeroBreathe {
  0%, 100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-4px) scale(1.012);
  }
}

@keyframes avatarArrive {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.82);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes avatarThinkingRing {
  0%, 100% {
    box-shadow:
      0 0 12px rgba(34, 211, 238, 0.24),
      inset 0 1px 0 rgba(255,255,255,0.14);
  }

  50% {
    box-shadow:
      0 0 26px rgba(34, 211, 238, 0.58),
      inset 0 1px 0 rgba(255,255,255,0.20);
  }
}

@keyframes conversationFadeIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Small phones */

@media (max-width: 390px) {
  .ari-wordmark {
    font-size: 34px;
  }

  .ari-engine-line {
    font-size: 8px;
  }

  .ari-hero-img {
    width: 300px;
  }

  .ari-welcome-question {
    font-size: 21px;
  }

  .ari-message {
    max-width: 90%;
  }
}

/* =====================================================
ARI V1 NAV FIX — keep side menu out of page flow
===================================================== */

.ari-v1-home .ari-side-menu,
.ari-v1-home .side-menu {
  position: fixed !important;
  top: 0 !important;
  left: -100vw !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  transform: none !important;
}

.ari-v1-home .ari-side-menu.open,
.ari-v1-home .side-menu.open {
  left: 0 !important;
}

.ari-v1-home #menuOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
}
/* =====================================================
ARI V1 SIDE MENU FINAL FIX
===================================================== */

.ari-v1-home .side-menu,
.ari-v1-home .ari-side-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  transform: translateX(-105%) !important;
  transition: transform 0.28s ease !important;
  z-index: 9999 !important;
}

.ari-v1-home .side-menu.open,
.ari-v1-home .ari-side-menu.open {
  transform: translateX(0) !important;
}

.ari-v1-home #menuOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
}
/* =====================================================
ARI V1 MOBILE VIEWPORT + HERO POSITION FIX
===================================================== */

html,
body {
  background: #040b18 !important;
}

.ari-v1-home {
  width: 100vw !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  padding-top: env(safe-area-inset-top) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  padding-bottom: 120px !important;
}

.ari-header {
  height: 82px !important;
}

.ari-welcome {
  min-height: calc(100dvh - 210px) !important;
  justify-content: flex-start !important;
  padding-top: 120px !important;
  padding-bottom: 0 !important;
}

.ari-hero-img {
  width: 360px !important;
  max-width: 92vw !important;
}

.ari-welcome-question {
  margin-top: 8px !important;
}

.ari-bottom-input {
  bottom: env(safe-area-inset-bottom) !important;
  padding-bottom: 18px !important;
}
/* =====================================================
ARI V1 HORIZONTAL OVERFLOW FIX
===================================================== */

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  background: #040b18 !important;
}

.ari-v1-home {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  overflow-x: hidden !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.ari-header {
  width: 100% !important;
  overflow: visible !important;
}

.ari-brand-center {
  max-width: 180px !important;
}

.ari-wordmark {
  font-size: 34px !important;
}

.ari-engine-line {
  font-size: 8px !important;
  letter-spacing: 0.24em !important;
}

.ari-header .profile-btn {
  min-width: 82px !important;
  max-width: 82px !important;
  font-size: 13px !important;
  padding: 0 10px !important;
}

.ari-bottom-input {
  width: 100% !important;
  max-width: 430px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.ari-input-shell {
  max-width: 100% !important;
}


/* =====================================================
ARI V1 HARD CENTER + HEADER FIX
===================================================== */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  background: #040b18 !important;
}

body {
  display: flex !important;
  justify-content: center !important;
}

main#ariApp.ari-v1-home {
  box-sizing: border-box !important;
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  padding: env(safe-area-inset-top) 14px 120px !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Header layout */
main#ariApp .ari-header {
  width: 100% !important;
  height: 82px !important;
  display: grid !important;
  grid-template-columns: 64px 1fr 92px !important;
  align-items: center !important;
  gap: 8px !important;
  position: relative !important;
}

/* Bigger hamburger */
main#ariApp .menu-btn {
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

/* Keep logo centered in grid, not absolute */
main#ariApp .ari-brand-center {
  position: static !important;
  transform: none !important;
  max-width: none !important;
  justify-self: center !important;
}

/* Sign in fully inside screen */
main#ariApp .profile-btn {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 58px !important;
  padding: 0 !important;
  font-size: 14px !important;
  justify-self: end !important;
}

/* Input fully inside screen */
main#ariApp .ari-bottom-input {
  box-sizing: border-box !important;
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

main#ariApp .ari-input-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* =====================================================
ARI V1 BRAND FONT UPGRADE — AUDIOWIDE + ORBITRON
===================================================== */

main#ariApp .ari-wordmark {
  font-family: "Audiowide", sans-serif !important;
  font-weight: 400 !important;
  font-size: 42px !important;
  letter-spacing: 0.16em !important;
  color: #22d3ee !important;
  text-decoration: none !important;
  line-height: 0.95 !important;

  text-shadow:
    0 0 6px rgba(34,211,238,0.95),
    0 0 14px rgba(34,211,238,0.78),
    0 0 30px rgba(34,211,238,0.48),
    0 0 52px rgba(34,211,238,0.24) !important;
}

main#ariApp .ari-wordmark::first-letter {
  color: #f8fdff !important;
  text-shadow:
    0 0 6px rgba(255,255,255,0.72),
    0 0 16px rgba(34,211,238,0.58),
    0 0 32px rgba(34,211,238,0.35) !important;
}

main#ariApp .ari-engine-line {
  font-family: "Orbitron", sans-serif !important;
  font-weight: 800 !important;
  margin-top: 7px !important;
  font-size: 9.5px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #c8ffff !important;

  text-shadow:
    0 0 4px rgba(200,255,255,0.65),
    0 0 10px rgba(200,255,255,0.42),
    0 0 20px rgba(34,211,238,0.26) !important;
}

main#ariApp .ari-engine-line span {
  color: #c8ffff !important;
  text-shadow:
    0 0 4px rgba(200,255,255,0.75),
    0 0 10px rgba(200,255,255,0.48),
    0 0 22px rgba(34,211,238,0.30) !important;
}
/* =====================================================
ARI V1 — RAISE ARI + GLASS COMPOSER UPGRADE
===================================================== */

/* Raise Ari + prompt */
main#ariApp .ari-welcome {
  min-height: calc(100dvh - 175px) !important;
  justify-content: flex-start !important;
  padding-top: 68px !important;
  padding-bottom: 0 !important;
}

main#ariApp .ari-hero-img {
  width: 385px !important;
  max-width: 96vw !important;
  transform: translateY(-115px) !important;
}

main#ariApp .ari-welcome-prompt {
  margin-top: -24px !important;
}

/* Softer, inviting prompt */
main#ariApp .ari-prompt-kicker {
  margin: 0 0 7px !important;
  font-family: "Orbitron", sans-serif !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(103, 232, 249, 0.72) !important;
}

main#ariApp .ari-welcome-question {
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  letter-spacing: -0.035em !important;
  color: rgba(244, 248, 255, 0.92) !important;
  text-shadow:
    0 0 18px rgba(34, 211, 238, 0.12),
    0 1px 0 rgba(255,255,255,0.12) !important;
}

/* Glass composer dock */
main#ariApp .ari-bottom-input {
  bottom: env(safe-area-inset-bottom) !important;
  padding: 10px 14px 20px !important;
  background:
    linear-gradient(
      180deg,
      rgba(4, 11, 24, 0),
      rgba(4, 11, 24, 0.72) 38%,
      rgba(4, 11, 24, 0.96) 100%
    ) !important;
}

main#ariApp .ari-input-shell {
  position: relative !important;
  min-height: 78px !important;
  padding: 13px 14px 13px 22px !important;
  border-radius: 34px !important;

  background:
    linear-gradient(145deg, rgba(10, 22, 42, 0.72), rgba(5, 12, 28, 0.92)),
    radial-gradient(circle at 12% 0%, rgba(125, 211, 252, 0.16), transparent 34%) !important;

  border: 1px solid rgba(103, 232, 249, 0.56) !important;

  box-shadow:
    0 0 22px rgba(34, 211, 238, 0.18),
    0 0 46px rgba(34, 211, 238, 0.08),
    0 24px 60px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -18px 34px rgba(0, 0, 0, 0.28) !important;

  backdrop-filter: blur(22px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;

  overflow: hidden !important;
  animation: ariComposerBreath 7s ease-in-out infinite;
}

/* LED strip */
main#ariApp .ari-input-shell::before {
  content: "";
  position: absolute;
  left: 28px;
  right: 86px;
  top: 9px;
  height: 2px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(103, 232, 249, 0.35),
      rgba(34, 211, 238, 0.95),
      rgba(103, 232, 249, 0.35),
      transparent
    );
  box-shadow:
    0 0 8px rgba(34, 211, 238, 0.75),
    0 0 18px rgba(34, 211, 238, 0.38);
  opacity: 0.78;
  pointer-events: none;
}

/* Glass reflection */
main#ariApp .ari-input-shell::after {
  content: "";
  position: absolute;
  inset: 1px 1px auto 1px;
  height: 50%;
  border-radius: 34px 34px 24px 24px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.08),
      rgba(255,255,255,0.015),
      transparent
    );
  pointer-events: none;
}

/* Input text */
main#ariApp #ariInput {
  position: relative !important;
  z-index: 2 !important;
  min-height: 48px !important;
  padding: 12px 0 8px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: rgba(244, 248, 255, 0.96) !important;
}

main#ariApp #ariInput::placeholder {
  color: rgba(226, 232, 240, 0.56) !important;
  font-weight: 800 !important;
}

/* Send button integrated into glass */
main#ariApp .ari-send-btn {
  position: relative !important;
  z-index: 3 !important;

  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;

  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,0.34), transparent 24%),
    linear-gradient(135deg, #2563eb 0%, #22d3ee 100%) !important;

  box-shadow:
    0 0 20px rgba(34, 211, 238, 0.55),
    0 0 44px rgba(34, 211, 238, 0.24),
    inset 0 1px 0 rgba(255,255,255,0.34) !important;

  transform: translateY(-1px);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

main#ariApp .ari-send-btn:active {
  transform: translateY(0) scale(0.94);
  filter: brightness(1.15);
}

/* Composer focus state */
main#ariApp .ari-input-shell:focus-within {
  border-color: rgba(103, 232, 249, 0.86) !important;
  box-shadow:
    0 0 26px rgba(34, 211, 238, 0.30),
    0 0 62px rgba(34, 211, 238, 0.14),
    0 24px 60px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.20),
    inset 0 -18px 34px rgba(0, 0, 0, 0.28) !important;
}

/* Breathing glow */
@keyframes ariComposerBreath {
  0%, 100% {
    box-shadow:
      0 0 20px rgba(34, 211, 238, 0.16),
      0 0 42px rgba(34, 211, 238, 0.07),
      0 24px 60px rgba(0, 0, 0, 0.46),
      inset 0 1px 0 rgba(255, 255, 255, 0.16),
      inset 0 -18px 34px rgba(0, 0, 0, 0.28);
  }

  50% {
    box-shadow:
      0 0 28px rgba(34, 211, 238, 0.25),
      0 0 58px rgba(34, 211, 238, 0.11),
      0 24px 60px rgba(0, 0, 0, 0.46),
      inset 0 1px 0 rgba(255, 255, 255, 0.19),
      inset 0 -18px 34px rgba(0, 0, 0, 0.28);
  }
}

/* =====================================================
ARI V1 — PROMPT ABOVE COMPOSER + COMPOSER LIFT
===================================================== */

/* Keep Ari high */
main#ariApp .ari-hero-img {
  width: 385px !important;
  max-width: 96vw !important;
  transform: translateY(-115px) !important;
}

/* Move prompt out from behind composer */
main#ariApp .ari-welcome-prompt {
  position: fixed !important;
  left: 50% !important;
  bottom: 137px !important;
  transform: translateX(-50%) !important;
  width: min(92vw, 390px) !important;
  z-index: 55 !important;
  text-align: center !important;
  pointer-events: none !important;
}

main#ariApp .ari-welcome-question {
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 24px !important;
  line-height: 1.22 !important;
  font-weight: 750 !important;
  letter-spacing: -0.035em !important;
  color: rgba(244, 248, 255, 0.92) !important;
  text-shadow:
    0 0 18px rgba(34, 211, 238, 0.12),
    0 1px 0 rgba(255,255,255,0.12) !important;
}

/* Lift composer */
main#ariApp .ari-bottom-input {
  bottom: calc(env(safe-area-inset-bottom) + 28px) !important;
  padding: 10px 14px 14px !important;
}

/* Make room so page does not feel cramped */
main#ariApp.ari-v1-home {
  padding-bottom: 170px !important;
}
/* =====================================================
ARI V1 — FIX COMPOSER TAP BLOCKED BY MENU OVERLAY
===================================================== */

main#ariApp #menuOverlay,
.ari-v1-home #menuOverlay,
#menuOverlay {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

main#ariApp #menuOverlay.show,
.ari-v1-home #menuOverlay.show,
#menuOverlay.show,
main#ariApp #menuOverlay.open,
.ari-v1-home #menuOverlay.open,
#menuOverlay.open {
  display: block !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}
main#ariApp .ari-bottom-input {
  z-index: 200 !important;
}

main#ariApp .ari-input-shell,
main#ariApp #ariInput,
main#ariApp .ari-send-btn {
  pointer-events: auto !important;
}

.ari-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 20px;
  padding: 4px 2px;
}

.ari-typing-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #67e8f9;
  box-shadow:
    0 0 8px rgba(103, 232, 249, 0.9),
    0 0 18px rgba(34, 211, 238, 0.45);
  animation: ariTypingPulse 1.15s ease-in-out infinite;
}

.ari-typing-dots span:nth-child(2) {
  animation-delay: 0.16s;
}

.ari-typing-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

.ari-stop-btn {
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,0.28), transparent 24%),
    linear-gradient(135deg, #ef4444 0%, #fb7185 100%) !important;

  box-shadow:
    0 0 18px rgba(248, 113, 113, 0.55),
    0 0 38px rgba(239, 68, 68, 0.25),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
}

@keyframes ariTypingPulse {
  0%, 80%, 100% {
    opacity: 0.35;
    transform: translateY(0) scale(0.88);
  }

  40% {
    opacity: 1;
    transform: translateY(-3px) scale(1.08);
  }
}
main#ariApp.ari-keyboard-mode .ari-welcome-prompt {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

main#ariApp.ari-keyboard-mode .ari-bottom-input {
  bottom: calc(env(safe-area-inset-bottom) + 8px) !important;
}

main#ariApp.ari-keyboard-mode .ari-hero-img {
  width: 385px !important;
  max-width: 96vw !important;
  transform: translateY(-115px) !important;
}

/* =====================================================
ARI V1 — iOS KEYBOARD / NO PAGE SCROLL FIX
===================================================== */

html,
body {
  height: 100% !important;
  overflow: hidden !important;
}

body {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
}

main#ariApp.ari-v1-home {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: env(safe-area-inset-top) 14px 0 !important;
}

main#ariApp .ari-header {
  flex-shrink: 0 !important;
}

main#ariApp .ari-welcome {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-bottom: 120px !important;
}

main#ariApp .ari-conversation-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 120px !important;
}

main#ariApp .ari-thread {
  overflow: visible !important;
}

main#ariApp .ari-bottom-input {
  position: sticky !important;
  left: auto !important;
  right: auto !important;
  bottom: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: 430px !important;
  flex-shrink: 0 !important;
  z-index: 200 !important;
  padding: 10px 0 calc(env(safe-area-inset-bottom) + 12px) !important;
}
/* =====================================================
ARI V1 — LIVING BACKGROUND + THINKING LED
===================================================== */

main#ariApp.ari-v1-home::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.34;
  background:
    radial-gradient(circle at 50% 31%, rgba(34, 211, 238, 0.18), transparent 23%),
    radial-gradient(circle at 20% 42%, rgba(59, 130, 246, 0.10), transparent 20%),
    radial-gradient(circle at 80% 58%, rgba(34, 211, 238, 0.08), transparent 22%),
    repeating-radial-gradient(circle at 50% 38%, rgba(34, 211, 238, 0.12) 0 1px, transparent 1px 18px);
  mix-blend-mode: screen;
  animation: ariAmbientPulse 10s ease-in-out infinite;
}

main#ariApp .ari-welcome::before {
  content: "";
  position: absolute;
  inset: -40px -20px 90px;
  pointer-events: none;
  z-index: -1;
  opacity: 0.28;
  background-image:
    linear-gradient(30deg, rgba(34,211,238,0.10) 1px, transparent 1px),
    linear-gradient(150deg, rgba(34,211,238,0.06) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at 50% 44%, black 0%, transparent 72%);
  -webkit-mask-image: radial-gradient(circle at 50% 44%, black 0%, transparent 72%);
  animation: ariGridDrift 18s linear infinite;
}

main#ariApp .ari-input-shell::before {
  animation: ariLedIdle 5.5s ease-in-out infinite;
}

main#ariApp.ari-thinking-mode .ari-input-shell::before,
main#ariApp:has(#ariInput:disabled) .ari-input-shell::before {
  height: 3px;
  opacity: 1;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(103, 232, 249, 0.20) 18%,
      rgba(34, 211, 238, 1) 48%,
      rgba(147, 197, 253, 1) 52%,
      rgba(34, 211, 238, 1) 56%,
      rgba(103, 232, 249, 0.20) 82%,
      transparent 100%
    );
  background-size: 220% 100%;
  animation: ariLedThinking 1.15s linear infinite;
  box-shadow:
    0 0 10px rgba(34, 211, 238, 0.95),
    0 0 22px rgba(34, 211, 238, 0.62),
    0 0 42px rgba(59, 130, 246, 0.32);
}

main#ariApp.ari-thinking-mode::after,
main#ariApp:has(#ariInput:disabled)::after {
  opacity: 0.48;
  animation: ariThinkingField 2.2s ease-in-out infinite;
}

@keyframes ariAmbientPulse {
  0%, 100% {
    opacity: 0.26;
    transform: scale(1);
    filter: brightness(0.95);
  }

  50% {
    opacity: 0.42;
    transform: scale(1.018);
    filter: brightness(1.12);
  }
}

@keyframes ariGridDrift {
  from {
    background-position: 0 0, 0 0;
  }

  to {
    background-position: 46px 46px, -46px 46px;
  }
}

@keyframes ariLedIdle {
  0%, 100% {
    opacity: 0.42;
    filter: brightness(0.9);
  }

  50% {
    opacity: 0.88;
    filter: brightness(1.25);
  }
}

@keyframes ariLedThinking {
  from {
    background-position: 120% 0;
  }

  to {
    background-position: -120% 0;
  }
}

@keyframes ariThinkingField {
  0%, 100% {
    opacity: 0.34;
    filter: brightness(1);
  }

  50% {
    opacity: 0.58;
    filter: brightness(1.28);
  }
}

/* =====================================================
ARI V1 — FINAL COMPOSER QUESTION CLEANUP
===================================================== */

main#ariApp .ari-welcome-prompt,
main#ariApp .ari-welcome-question {
  display: none !important;
}

main#ariApp #ariInput::placeholder {
  color: rgba(226, 232, 240, 0.62) !important;
  font-weight: 850 !important;
}

/* =====================================================
ARI V1 — PREMIUM COMPOSER + HALO FINAL TWEAK
===================================================== */

/* stronger soft halo behind Ari */
main#ariApp .ari-welcome::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 37%;
  width: 360px;
  height: 360px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(34, 211, 238, 0.22), transparent 62%);
  filter: blur(18px);
  animation: ariHeroHaloPulse 8s ease-in-out infinite;
}

/* taller premium composer */
main#ariApp .ari-input-shell {
  min-height: 98px !important;
  padding: 18px 16px 16px 24px !important;
  border-radius: 40px !important;
}

/* vertically center placeholder/input better */
main#ariApp #ariInput {
  min-height: 62px !important;
  padding: 18px 0 8px !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
}

/* bigger integrated send button */
main#ariApp .ari-send-btn {
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
  margin-bottom: 1px !important;
}

/* LED position for taller composer */
main#ariApp .ari-input-shell::before {
  top: 12px !important;
  left: 32px !important;
  right: 92px !important;
}

/* tighten dead space slightly */
main#ariApp .ari-welcome {
  padding-bottom: 86px !important;
}

@keyframes ariHeroHaloPulse {
  0%, 100% {
    opacity: 0.42;
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    opacity: 0.72;
    transform: translate(-50%, -50%) scale(1.08);
  }
}
/* =====================================================
ARI V2 COMMAND CONSOLE
===================================================== */

main#ariApp .ari-bottom-input{
    bottom:calc(env(safe-area-inset-bottom) + 12px)!important;
    padding:12px 14px 18px!important;
}

main#ariApp .ari-input-shell{

    min-height:138px!important;
    border-radius:38px!important;

    padding:22px 18px 18px 22px!important;

    display:flex!important;
    align-items:center!important;

    overflow:hidden!important;

    background:
      linear-gradient(160deg,
      rgba(13,27,48,.82),
      rgba(6,14,29,.95))!important;

    border:1px solid rgba(103,232,249,.45)!important;

    box-shadow:
      0 0 18px rgba(34,211,238,.18),
      0 0 60px rgba(34,211,238,.10),
      inset 0 1px 0 rgba(255,255,255,.15),
      inset 0 -24px 42px rgba(0,0,0,.32)!important;
}

main#ariApp #ariInput{

    min-height:92px!important;
    max-height:92px!important;

    padding-top:18px!important;

    font-size:21px!important;
    line-height:1.35!important;
    font-weight:800!important;

    display:flex!important;
    align-items:center!important;
}

main#ariApp #ariInput::placeholder{

    font-size:20px!important;
    line-height:1.35!important;
    font-weight:750!important;

    color:rgba(240,248,255,.70)!important;
}

main#ariApp .ari-send-btn{

    width:72px!important;
    height:72px!important;
    min-width:72px!important;

    border-radius:50%!important;

    margin-left:14px!important;

    font-size:28px!important;

    box-shadow:
      0 0 22px rgba(34,211,238,.45),
      0 0 54px rgba(34,211,238,.24),
      inset 0 1px 0 rgba(255,255,255,.32)!important;
}
/* =====================================================
ARI V2 — AI REACTOR SEND BUTTON
===================================================== */

main#ariApp .ari-send-btn{

    position:relative!important;

    width:60px!important;
    height:60px!important;
    min-width:60px!important;

    margin-left:12px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    border:none!important;
    border-radius:50%!important;

    color:#ffffff!important;
    font-size:22px!important;
    font-weight:900!important;

    cursor:pointer!important;

    background:
      radial-gradient(circle at 32% 28%,
        rgba(255,255,255,.30),
        transparent 22%),
      radial-gradient(circle,
        #45d8ff 0%,
        #1da9ff 48%,
        #0b3e77 100%)!important;

    box-shadow:
      0 0 18px rgba(34,211,238,.45),
      0 0 42px rgba(34,211,238,.22),
      inset 0 1px 0 rgba(255,255,255,.28)!important;

    transition:
      transform .18s ease,
      box-shadow .25s ease;
}

/* rotating reactor ring */

main#ariApp .ari-send-btn::before{

    content:"";

    position:absolute;
    inset:-6px;

    border-radius:50%;

    border:2px solid rgba(103,232,249,.32);

    border-top-color:#67e8f9;
    border-right-color:#22d3ee;

    animation:ariReactorRotate 8s linear infinite;
}

/* glowing energy core */

main#ariApp .ari-send-btn::after{

    content:"";

    position:absolute;
    inset:10px;

    border-radius:50%;

    background:
      radial-gradient(circle,
      rgba(255,255,255,.30),
      transparent 72%);

    pointer-events:none;

    animation:ariCorePulse 4.5s ease-in-out infinite;
}

/* hover / tap */

main#ariApp .ari-send-btn:hover{
    transform:scale(1.05);
}

main#ariApp .ari-send-btn:active{
    transform:scale(.93);
}

/* Thinking mode */

main#ariApp.ari-thinking-mode .ari-send-btn::before{

    animation:
      ariReactorRotate 1s linear infinite;

    border-color:rgba(103,232,249,.55);
    border-top-color:#ffffff;
    border-right-color:#67e8f9;

    box-shadow:
      0 0 14px rgba(34,211,238,.8);
}

main#ariApp.ari-thinking-mode .ari-send-btn{

    box-shadow:
      0 0 26px rgba(34,211,238,.65),
      0 0 60px rgba(34,211,238,.34),
      inset 0 1px 0 rgba(255,255,255,.32)!important;
}

/* Animations */

@keyframes ariReactorRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

@keyframes ariCorePulse{

    0%,100%{
        opacity:.45;
        transform:scale(.94);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }
}

/* =====================================================
ARI V2 — TRANSPARENT GLASS REACTOR SEND BUTTON
===================================================== */

main#ariApp .ari-send-btn {
  position: relative !important;

  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  margin-left: 12px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 50% !important;
  border: 1px solid rgba(180, 255, 255, 0.35) !important;

  color: rgba(200, 255, 255, 0.94) !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  text-shadow:
    0 0 6px rgba(200, 255, 255, 0.85),
    0 0 14px rgba(34, 211, 238, 0.55) !important;

  background:
    radial-gradient(circle at 34% 26%, rgba(255,255,255,0.30), transparent 18%),
    radial-gradient(circle at 50% 52%, rgba(103,232,249,0.30), transparent 42%),
    linear-gradient(145deg, rgba(180,255,255,0.14), rgba(4,11,24,0.44)) !important;

  backdrop-filter: blur(12px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(170%) !important;

  box-shadow:
    0 0 0 5px rgba(34,211,238,0.08),
    0 0 0 10px rgba(34,211,238,0.035),
    0 0 24px rgba(34,211,238,0.42),
    inset 0 1px 0 rgba(255,255,255,0.28),
    inset 0 -10px 22px rgba(4,11,24,0.38) !important;

  overflow: visible !important;
}

/* segmented reactor ring */
main#ariApp .ari-send-btn::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;

  background:
    conic-gradient(
      from 0deg,
      transparent 0deg,
      rgba(200,255,255,0.95) 24deg,
      transparent 48deg,
      transparent 110deg,
      rgba(34,211,238,0.85) 146deg,
      transparent 184deg,
      transparent 250deg,
      rgba(147,197,253,0.70) 286deg,
      transparent 330deg
    );

  mask: radial-gradient(circle, transparent 59%, black 62%, black 70%, transparent 73%);
  -webkit-mask: radial-gradient(circle, transparent 59%, black 62%, black 70%, transparent 73%);

  animation: ariReactorRotate 7s linear infinite;
  opacity: 0.9;
}

/* dotted outer halo */
main#ariApp .ari-send-btn::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 50%;

  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(200,255,255,0.62) 0deg 3deg,
      transparent 3deg 10deg
    );

  mask: radial-gradient(circle, transparent 73%, black 75%, black 78%, transparent 80%);
  -webkit-mask: radial-gradient(circle, transparent 73%, black 75%, black 78%, transparent 80%);

  animation: ariReactorRotateReverse 14s linear infinite;
  opacity: 0.42;
}

/* thinking state */
main#ariApp.ari-thinking-mode .ari-send-btn::before {
  animation-duration: 0.9s;
  opacity: 1;
}

main#ariApp.ari-thinking-mode .ari-send-btn::after {
  animation-duration: 2s;
  opacity: 0.75;
}

main#ariApp.ari-thinking-mode .ari-send-btn {
  box-shadow:
    0 0 0 5px rgba(34,211,238,0.13),
    0 0 0 10px rgba(34,211,238,0.06),
    0 0 30px rgba(34,211,238,0.62),
    0 0 62px rgba(34,211,238,0.28),
    inset 0 1px 0 rgba(255,255,255,0.32),
    inset 0 -10px 22px rgba(4,11,24,0.38) !important;
}

@keyframes ariReactorRotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ariReactorRotateReverse {
  to {
    transform: rotate(-360deg);
  }
}

/* =====================================================
ARI V2 — LED ENGINE LETTERS
===================================================== */

main#ariApp .ari-engine-line {
  position: relative !important;
  font-family: "Orbitron", sans-serif !important;
  color: rgba(200, 255, 255, 0.92) !important;
  text-shadow:
    0 0 4px rgba(200,255,255,.95),
    0 0 10px rgba(34,211,238,.80),
    0 0 22px rgba(34,211,238,.42),
    0 0 38px rgba(34,211,238,.22) !important;

  animation: ariLedTextPulse 4.8s ease-in-out infinite;
}

main#ariApp .ari-engine-line span {
  color: #e8ffff !important;
  text-shadow:
    0 0 5px rgba(232,255,255,1),
    0 0 12px rgba(34,211,238,.9),
    0 0 26px rgba(34,211,238,.48) !important;
}

main#ariApp .ari-engine-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(103,232,249,.35),
    rgba(200,255,255,.95),
    rgba(103,232,249,.35),
    transparent
  );
  box-shadow:
    0 0 8px rgba(34,211,238,.8),
    0 0 18px rgba(34,211,238,.45);
  opacity: .75;
}

@keyframes ariLedTextPulse {
  0%, 100% {
    opacity: .82;
    filter: brightness(.92);
  }

  50% {
    opacity: 1;
    filter: brightness(1.35);
  }
}
/* =====================================================
ARI V2 — NEON R BOOT FLICKER
===================================================== */

main#ariApp .ari-r {
  display: inline-block;
  color: #f8ffff !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 12px rgba(34,211,238,.95),
    0 0 26px rgba(34,211,238,.65),
    0 0 48px rgba(34,211,238,.36) !important;
  animation:
    ariRBootFlicker 1.9s ease-in-out 1,
    ariRIdleFlicker 32s linear infinite 4s;
}

main#ariApp.ari-thinking-mode .ari-r {
  animation: none !important;
  opacity: 1 !important;
  filter: brightness(1.25) !important;
}

@keyframes ariRBootFlicker {
  0% { opacity: 0; filter: brightness(.15); }
  8% { opacity: 1; filter: brightness(1.4); }
  14% { opacity: .12; filter: brightness(.2); }
  22% { opacity: 1; filter: brightness(1.2); }
  31% { opacity: .28; filter: brightness(.3); }
  42% { opacity: 1; filter: brightness(1.35); }
  52% { opacity: .08; filter: brightness(.15); }
  64% { opacity: .95; filter: brightness(1.1); }
  72% { opacity: .22; filter: brightness(.25); }
  84% { opacity: 1; filter: brightness(1.45); }
  100% { opacity: 1; filter: brightness(1); }
}

@keyframes ariRIdleFlicker {
  0%, 96%, 100% {
    opacity: 1;
    filter: brightness(1);
  }

  96.3% {
    opacity: .25;
    filter: brightness(.25);
  }

  96.8% {
    opacity: 1;
    filter: brightness(1.35);
  }

  97.2% {
    opacity: .18;
    filter: brightness(.22);
  }

  97.7% {
    opacity: 1;
    filter: brightness(1.15);
  }

  98.1% {
    opacity: .35;
    filter: brightness(.35);
  }

  98.6% {
    opacity: 1;
    filter: brightness(1);
  }
}
/* =====================================================
ARI V2 — MATCH I WITH NEON LOGO COLOR
===================================================== */

main#ariApp .ari-i {
  display: inline-block;
  color: #f8ffff !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 12px rgba(34,211,238,.95),
    0 0 26px rgba(34,211,238,.65),
    0 0 48px rgba(34,211,238,.36) !important;
}

/* =====================================================
   ARI ACCOUNT PAGE — SCROLL + DESKTOP STABILITY PATCH
===================================================== */

html,
body {
  width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  position: relative;
}

body::before,
body::after {
  z-index: 0;
}

.ari-account-page {
  position: relative;
  z-index: 2;
  min-height: 100dvh;
  padding-bottom: 120px;
}

/* Desktop/laptop view */
@media (min-width: 768px) {
  .ari-account-page {
    width: min(520px, 100%);
    padding-top: 24px;
  }

  .ari-page-title {
    font-size: 2.4rem;
  }

  .ari-page-hero,
  .ari-panel {
    border-radius: 30px;
  }
}

/* Prevent weird Safari fixed-background scroll issues */
@supports (-webkit-touch-callout: none) {
  body::before,
  body::after {
    position: absolute;
  }

  .ari-account-page {
    padding-bottom: 140px;
  }
}
/* =====================================================
ARI ACCOUNT PAGE — SCROLL FIX
Only applies to account.html
===================================================== */

body:has(.ari-account-page) {
  position: static !important;
  height: auto !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  display: block !important;
}

html:has(.ari-account-page) {
  height: auto !important;
  min-height: 100% !important;
  overflow-y: auto !important;
}

body:has(.ari-account-page)::before,
body:has(.ari-account-page)::after {
  z-index: 0;
}

body:has(.ari-account-page)::before,
body:has(.ari-account-page)::after {
  position: fixed;
}

.ari-account-page {
  position: relative;
  z-index: 2;
  min-height: 100dvh;
  padding-bottom: 160px !important;
}
/* =====================================================
ARI IDENTITY / ACCOUNT PAGE SCROLL FIX
===================================================== */

html,
body {
  width: 100%;
  min-height: 100%;
}

body:has(.ari-identity-page),
body:has(.ari-account-page) {
  position: relative !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
}

body:has(.ari-identity-page) .ari-identity-page,
body:has(.ari-account-page) .ari-account-page {
  min-height: 100dvh !important;
  padding-bottom: 140px !important;
  overflow: visible !important;
}
/* =====================================================
ARI NON-HOME PAGES — FORCE SCROLL FIX
===================================================== */

html:has(.ari-account-page),
html:has(.ari-identity-page),
html:has(.ari-goals-page),
body:has(.ari-account-page),
body:has(.ari-identity-page),
body:has(.ari-goals-page) {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body:has(.ari-account-page),
body:has(.ari-identity-page),
body:has(.ari-goals-page) {
  position: static !important;
  inset: auto !important;
  display: block !important;
  touch-action: auto !important;
}

body:has(.ari-account-page) main,
body:has(.ari-identity-page) main,
body:has(.ari-goals-page) main {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
  padding-bottom: 180px !important;
}
/* =====================================================
ARI V2 — CENTERED PREMIUM HAMBURGER CLOSE BUTTON
===================================================== */

.ari-v1-home .ari-side-menu .ari-close-menu {
  position: absolute !important;
  top: calc(env(safe-area-inset-top) + 34px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;

  width: 66px !important;
  height: 66px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 50% !important;
  border: 1px solid rgba(200, 255, 255, 0.48) !important;

  background:
    radial-gradient(circle at 34% 24%, rgba(255,255,255,0.24), transparent 22%),
    linear-gradient(145deg, rgba(103,232,249,0.18), rgba(2,6,23,0.88)) !important;

  color: rgba(230, 255, 255, 0.98) !important;
  font-size: 46px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  box-shadow:
    0 0 0 7px rgba(34,211,238,0.07),
    0 0 30px rgba(34,211,238,0.38),
    inset 0 1px 0 rgba(255,255,255,0.24),
    inset 0 -12px 24px rgba(0,0,0,0.34) !important;

  text-shadow:
    0 0 8px rgba(200,255,255,0.9),
    0 0 22px rgba(34,211,238,0.52) !important;

  cursor: pointer !important;
}

.ari-v1-home .ari-side-menu .ari-close-menu:active {
  transform: translateX(-50%) scale(0.92) !important;
}

.ari-v1-home .ari-side-menu {
  padding-top: calc(env(safe-area-inset-top) + 140px) !important;
}

/* =====================================================
ARI MEMORY VAULT — GOLD CHIP STYLE
===================================================== */

.ari-history-page {
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 18px 16px 90px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 199, 87, .18), transparent 34%),
    linear-gradient(180deg, #020617, #090805 55%, #020617);
  color: #fff7d6;
}

.ari-history-header {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.ari-history-header button {
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(255, 199, 87, .35);
  background: rgba(10, 8, 4, .8);
  color: #ffe7a3;
  font-size: 1.3rem;
  font-weight: 900;
}

.ari-history-header h1 {
  margin: 0;
  font-family: Orbitron, system-ui, sans-serif;
  font-size: 1.25rem;
  letter-spacing: .18em;
  color: #ffd56a;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(255, 199, 87, .32);
}

.ari-history-panel {
  position: relative;
  border: 1px solid rgba(255, 199, 87, .38);
  border-radius: 28px;
  padding: 18px;
  background:
    linear-gradient(90deg, rgba(255, 199, 87, .07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(18, 14, 6, .96), rgba(2, 6, 23, .88));
  background-size: 28px 100%, auto;
  box-shadow:
    0 0 34px rgba(255, 199, 87, .12),
    inset 0 0 28px rgba(255, 199, 87, .04);
}

.ari-history-panel h2 {
  margin: 0 0 14px;
  font-size: .75rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 231, 163, .78);
}

.ari-history-section-title {
  margin: 20px 0 10px;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #ffd56a;
}

.ari-history-card {
  margin-top: 12px;
  padding: 15px;
  border-radius: 20px;
  border: 1px solid rgba(255, 199, 87, .22);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 199, 87, .14), transparent 32%),
    rgba(10, 8, 4, .72);
  box-shadow:
    0 0 18px rgba(255, 199, 87, .07),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.ari-history-card strong {
  display: block;
  color: #fff3bd;
  font-size: .95rem;
  line-height: 1.35;
}

.ari-history-card p {
  margin: 8px 0;
  color: rgba(255, 247, 214, .72);
  font-family: system-ui, sans-serif;
  font-size: .88rem;
  line-height: 1.4;
}

.ari-history-card small {
  color: rgba(255, 213, 106, .68);
  font-size: .72rem;
}

.ari-history-card .intake-actions {
  margin-top: 12px;
}

.ari-history-card .delete-intake-btn {
  border-radius: 999px;
  border: 1px solid rgba(239, 68, 68, .28);
  background: rgba(239, 68, 68, .12);
  color: #fecaca;
}

/* =====================================================
ARI AUTH LOGIN — PALE CYAN TERMINAL
===================================================== */

.ari-auth-body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 0%, rgba(103, 232, 249, .16), transparent 32%),
    radial-gradient(circle at 20% 35%, rgba(34, 211, 238, .08), transparent 34%),
    linear-gradient(180deg, #020617 0%, #03111f 48%, #020617 100%);
  color: #eaffff;
  font-family: Orbitron, system-ui, sans-serif;
  overflow-x: hidden;
}

.ari-auth-page {
  width: min(430px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 48px 18px;
  display: grid;
  place-items: center;
}

.ari-auth-card {
  width: 100%;
  border: 1px solid rgba(165, 243, 252, .28);
  border-radius: 30px;
  padding: 26px 20px;
  background:
    linear-gradient(180deg, rgba(8, 20, 34, .92), rgba(2, 6, 23, .88));
  box-shadow:
    0 0 34px rgba(103, 232, 249, .14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.ari-auth-brand {
  text-align: center;
  margin-bottom: 22px;
}

.ari-auth-kicker {
  margin: 0 0 8px;
  font-size: .62rem;
  letter-spacing: .28em;
  color: rgba(165, 243, 252, .62);
  font-weight: 900;
}

.ari-auth-brand h1 {
  margin: 0;
  font-size: 2rem;
  letter-spacing: .18em;
  color: rgba(207, 250, 254, .92);
  text-shadow:
    0 0 10px rgba(103, 232, 249, .35),
    0 0 28px rgba(103, 232, 249, .16);
}

.ari-auth-subtitle {
  margin: 10px 0 0;
  font-size: .75rem;
  color: rgba(186, 230, 253, .62);
}

.ari-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 18px;
}

.ari-auth-tab {
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(165, 243, 252, .18);
  background: rgba(2, 6, 23, .54);
  color: rgba(207, 250, 254, .58);
  font-family: inherit;
  font-weight: 900;
  cursor: pointer;
}

.ari-auth-tab.active {
  color: #ecfeff;
  border-color: rgba(165, 243, 252, .46);
  background: rgba(8, 47, 73, .38);
  box-shadow: 0 0 18px rgba(103, 232, 249, .12);
}

.ari-auth-field {
  margin-top: 14px;
}

.ari-auth-field label {
  display: block;
  margin-bottom: 8px;
  font-size: .68rem;
  letter-spacing: .16em;
  color: rgba(165, 243, 252, .72);
  text-transform: uppercase;
  font-weight: 900;
}

.ari-auth-field input {
  width: 100%;
  border: 1px solid rgba(165, 243, 252, .22);
  border-radius: 18px;
  padding: 15px;
  background: rgba(2, 6, 23, .76);
  color: white;
  outline: none;
  font: inherit;
  font-size: .9rem;
}

.ari-auth-field input:focus {
  border-color: rgba(165, 243, 252, .62);
  box-shadow: 0 0 18px rgba(103, 232, 249, .16);
}

.ari-auth-main-btn {
  width: 100%;
  min-height: 56px;
  margin-top: 20px;
  border-radius: 18px;
  border: 1px solid rgba(165, 243, 252, .28);
  background: rgba(8, 20, 34, .88);
  color: rgba(207, 250, 254, .62);
  font-family: inherit;
  font-weight: 950;
  letter-spacing: .16em;
  cursor: pointer;
}

.ari-auth-main-btn.ready {
  color: white;
  border-color: rgba(165, 243, 252, .78);
  background: linear-gradient(135deg, rgba(8, 145, 178, .72), rgba(14, 116, 144, .46));
  box-shadow:
    0 0 18px rgba(103, 232, 249, .34),
    0 0 42px rgba(103, 232, 249, .14);
}

.ari-auth-main-btn.gold.ready {
  border-color: rgba(251, 191, 36, .8);
  background: linear-gradient(135deg, rgba(251, 191, 36, .82), rgba(120, 53, 15, .78));
  color: #1c1200;
  box-shadow:
    0 0 18px rgba(251, 191, 36, .32),
    0 0 44px rgba(251, 191, 36, .14);
}

.ari-auth-link-btn {
  width: 100%;
  margin-top: 16px;
  border: none;
  background: transparent;
  color: rgba(165, 243, 252, .62);
  font-family: inherit;
  font-weight: 900;
  cursor: pointer;
}

.ari-auth-message {
  min-height: 22px;
  margin: 16px 0 0;
  color: rgba(207, 250, 254, .74);
  font-size: .78rem;
  line-height: 1.45;
  text-align: center;
}

.ari-init-screen {
  width: 100%;
  min-height: 100vh;
  display: grid;
  place-items: center;
}

.ari-init-terminal {
  width: 100%;
  max-width: 390px;
  border: 1px solid rgba(165, 243, 252, .24);
  border-radius: 26px;
  padding: 24px 20px;
  background: rgba(2, 6, 23, .88);
  box-shadow: 0 0 42px rgba(103, 232, 249, .14);
}

.ari-init-line {
  min-height: 32px;
  color: rgba(34, 211, 238, .9);
  font-size: .88rem;
  letter-spacing: .06em;
  font-weight: 850;
}

.ari-init-name {
  color: rgba(207, 250, 254, .96);
  text-shadow: 0 0 10px rgba(165, 243, 252, .42);
}

.ari-memory-line {
  animation: ariMemoryFlash .8s ease-in-out 1;
}

.ari-terminal-cursor {
  display: inline-block;
  margin-left: 4px;
  color: rgba(207, 250, 254, .9);
  animation: ariCursorBlink .7s step-end infinite;
}

.hidden {
  display: none !important;
}

@keyframes ariCursorBlink {
  50% { opacity: 0; }
}

@keyframes ariMemoryFlash {
  0%, 100% { color: rgba(34, 211, 238, .9); }
  45% { color: rgba(251, 191, 36, .95); text-shadow: 0 0 14px rgba(251, 191, 36, .34); }
}

/* =====================================================
ARI AUTH — FUTURE CHIP LOGIN
===================================================== */

.ari-auth-body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 10%, rgba(87,255,231,.22), transparent 28%),
    radial-gradient(circle at 12% 24%, rgba(87,255,231,.12), transparent 26%),
    radial-gradient(circle at 88% 78%, rgba(250,204,21,.10), transparent 28%),
    linear-gradient(180deg, #020617 0%, #03101a 48%, #020617 100%);
  color: #eaffff;
  overflow-x: hidden;
}

.ari-auth-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(87,255,231,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87,255,231,.045) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle at center, black 0%, transparent 78%);
}

.ari-auth-page {
  width: min(430px, 100%);
  min-height: 100dvh;
  margin: 0 auto;
  padding: 42px 18px;
  display: grid;
  place-items: center;
}

.ari-auth-card {
  width: 100%;
  border: 1px solid rgba(87,255,231,.32);
  border-radius: 30px;
  padding: 28px 20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(87,255,231,.18), transparent 34%),
    linear-gradient(180deg, rgba(2, 12, 22, .92), rgba(2, 6, 23, .78));
  box-shadow:
    0 0 42px rgba(87,255,231,.12),
    inset 0 0 30px rgba(87,255,231,.05);
}

.ari-auth-brand {
  text-align: center;
  margin-bottom: 22px;
}

.ari-auth-brand h1 {
  margin: 16px 0 0;
  font-family: Orbitron, system-ui, sans-serif;
  font-size: 2rem;
  letter-spacing: .18em;
  color: rgba(210, 255, 255, .92);
  text-shadow:
    0 0 8px rgba(87,255,231,.48),
    0 0 22px rgba(87,255,231,.20);
}

.ari-chip-core {
  position: relative;
  width: 92px;
  height: 92px;
  margin: 0 auto;
  display: grid;
  place-items: center;
}

.chip-ring {
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(87,255,231,.36);
  border-radius: 24px;
  box-shadow: 0 0 22px rgba(87,255,231,.18);
  animation: ariChipPulse 2.6s ease-in-out infinite;
}

.chip-ring.ring2 {
  inset: 20px;
  border-color: rgba(250,204,21,.34);
  animation-delay: .8s;
}

.chip-grid {
  width: 54px;
  height: 54px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.chip-grid span {
  border-radius: 5px;
  background: rgba(87,255,231,.26);
  box-shadow: 0 0 12px rgba(87,255,231,.28);
  animation: ariChipBlink 2.2s infinite;
}

.chip-grid .core {
  background: rgba(250,204,21,.84);
  box-shadow: 0 0 18px rgba(250,204,21,.55);
}

@keyframes ariChipPulse {
  0%, 100% { opacity: .45; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.04); }
}

@keyframes ariChipBlink {
  0%, 100% { opacity: .35; }
  50% { opacity: 1; }
}

.ari-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 18px;
}

.ari-auth-tab {
  min-height: 44px;
  border: 1px solid rgba(87,255,231,.22);
  border-radius: 999px;
  background: rgba(2,6,23,.62);
  color: rgba(210,255,255,.68);
  font-weight: 900;
  font-family: Orbitron, system-ui, sans-serif;
}

.ari-auth-tab.active {
  color: white;
  border-color: rgba(87,255,231,.56);
  box-shadow: 0 0 18px rgba(87,255,231,.16);
}

.ari-auth-field {
  margin-top: 14px;
}

.ari-auth-field label {
  display: block;
  margin-bottom: 8px;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(180,255,255,.74);
  font-weight: 900;
}

.ari-auth-field input {
  width: 100%;
  min-height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(87,255,231,.22);
  background: rgba(2,6,23,.72);
  color: white;
  padding: 0 15px;
  font-size: 1rem;
  outline: none;
}

.ari-auth-field input:focus {
  border-color: rgba(87,255,231,.62);
  box-shadow: 0 0 18px rgba(87,255,231,.14);
}

.ari-auth-main-btn {
  width: 100%;
  min-height: 56px;
  margin-top: 18px;
  border: 1px solid rgba(87,255,231,.38);
  border-radius: 18px;
  background: rgba(87,255,231,.10);
  color: rgba(210,255,255,.82);
  font-family: Orbitron, system-ui, sans-serif;
  font-weight: 950;
  letter-spacing: .18em;
}

.ari-auth-main-btn.ready {
  background: linear-gradient(135deg, rgba(87,255,231,.9), rgba(14,165,233,.72));
  color: #02131c;
  box-shadow: 0 0 28px rgba(87,255,231,.32);
}

.ari-auth-main-btn.gold.ready,
.ari-auth-main-btn.gold {
  border-color: rgba(250,204,21,.52);
  color: #fff7cf;
}

.ari-auth-main-btn.gold.ready {
  background: linear-gradient(135deg, rgba(250,204,21,.94), rgba(161,98,7,.80));
  color: #1b1300;
  box-shadow: 0 0 30px rgba(250,204,21,.28);
}

.ari-auth-link-btn {
  width: 100%;
  margin-top: 16px;
  border: 0;
  background: transparent;
  color: rgba(87,255,231,.72);
  font-weight: 900;
}

.ari-auth-message {
  min-height: 24px;
  margin-top: 16px;
  text-align: center;
  color: rgba(226,252,255,.82);
  font-weight: 800;
}

.ari-init-screen {
  width: 100%;
}

.ari-terminal-shell {
  position: relative;
  min-height: 72vh;
  border-radius: 32px;
  border: 1px solid rgba(87,255,231,.34);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 15%, rgba(87,255,231,.18), transparent 34%),
    linear-gradient(180deg, rgba(2,12,22,.95), rgba(2,6,23,.88));
  box-shadow:
    0 0 55px rgba(87,255,231,.18),
    inset 0 0 40px rgba(87,255,231,.05);
}

.terminal-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(87,255,231,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87,255,231,.045) 1px, transparent 1px);
  background-size: 28px 28px;
}

.terminal-glow {
  position: absolute;
  inset: -40%;
  background:
    conic-gradient(from 180deg, transparent, rgba(87,255,231,.18), transparent, rgba(250,204,21,.12), transparent);
  animation: ariTerminalSweep 7s linear infinite;
}

@keyframes ariTerminalSweep {
  to { transform: rotate(360deg); }
}

.ari-init-terminal {
  position: relative;
  z-index: 2;
  padding: 42px 24px;
  min-height: 72vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}

.ari-init-line {
  font-family: Orbitron, system-ui, sans-serif;
  line-height: 1.2;
}

.ari-init-big {
  font-size: clamp(1.35rem, 6vw, 2.25rem);
  color: rgba(87,255,231,.92);
  text-shadow: 0 0 16px rgba(87,255,231,.30);
  font-weight: 900;
}

.ari-init-name {
  color: rgba(210,255,255,.96);
  text-shadow: 0 0 18px rgba(210,255,255,.42);
}

.ari-memory-line {
  color: rgba(250,204,21,.88);
  text-shadow: 0 0 18px rgba(250,204,21,.30);
}

.ari-terminal-cursor {
  margin-left: 8px;
  color: rgba(210,255,255,.95);
  animation: ariCursorBlink .75s steps(1) infinite;
}

@keyframes ariCursorBlink {
  50% { opacity: 0; }
}

.hidden {
  display: none !important;
}
/* =====================================================
ARI AUTH PATCH — CLEANER PHONE FIT + BETTER TECH LOOK
===================================================== */

.ari-auth-page {
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 90px 18px 110px !important;
  display: block !important;
}

.ari-auth-card {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 24px !important;
  padding: 34px 18px 28px !important;
  border: 1px solid rgba(87,255,231,.24) !important;
  background:
    linear-gradient(180deg, rgba(4,18,30,.84), rgba(2,6,23,.92)),
    repeating-linear-gradient(
      90deg,
      rgba(87,255,231,.05) 0px,
      rgba(87,255,231,.05) 1px,
      transparent 1px,
      transparent 34px
    ) !important;
  box-shadow:
    0 0 30px rgba(87,255,231,.10),
    inset 0 0 28px rgba(87,255,231,.035) !important;
}

.ari-auth-body {
  background:
    radial-gradient(circle at 50% 32%, rgba(87,255,231,.16), transparent 30%),
    radial-gradient(circle at 18% 55%, rgba(87,255,231,.08), transparent 26%),
    radial-gradient(circle at 82% 62%, rgba(250,204,21,.055), transparent 26%),
    linear-gradient(180deg, #020916 0%, #020617 100%) !important;
}

.ari-chip-core {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  opacity: .85 !important;
}

.chip-ring {
  inset: 3px !important;
  border-radius: 14px !important;
  border-color: rgba(87,255,231,.34) !important;
}

.chip-ring.ring2 {
  inset: 13px !important;
  border-color: rgba(250,204,21,.34) !important;
}

.chip-grid {
  width: 34px !important;
  height: 34px !important;
  gap: 4px !important;
}

.chip-grid span {
  border-radius: 4px !important;
}

.ari-auth-brand h1 {
  font-size: clamp(2.15rem, 10vw, 3.15rem) !important;
  letter-spacing: .16em !important;
  line-height: 1.05 !important;
  margin: 0 0 34px !important;
}

.ari-auth-tabs {
  gap: 12px !important;
  margin-bottom: 24px !important;
}

.ari-auth-tab {
  min-height: 48px !important;
  border-radius: 18px !important;
}

.ari-auth-field {
  margin-top: 18px !important;
}

.ari-auth-field label {
  font-size: .74rem !important;
  letter-spacing: .22em !important;
}

.ari-auth-field input {
  min-height: 58px !important;
  border-radius: 18px !important;
  background: rgba(1, 7, 18, .76) !important;
  border-color: rgba(87,255,231,.24) !important;
  font-size: 1.08rem !important;
}

.ari-auth-main-btn {
  min-height: 62px !important;
  border-radius: 20px !important;
  margin-top: 22px !important;
  background: rgba(87,255,231,.075) !important;
}

.ari-auth-main-btn.ready {
  background:
    linear-gradient(135deg, rgba(40,210,225,.75), rgba(15,118,150,.70)) !important;
  color: white !important;
}

.ari-auth-main-btn.gold {
  border-color: rgba(250,204,21,.42) !important;
}

.ari-auth-main-btn.gold.ready {
  background:
    linear-gradient(135deg, rgba(250,204,21,.88), rgba(146,86,7,.84)) !important;
  color: #150f00 !important;
}

.ari-auth-link-btn {
  margin-top: 20px !important;
}

/* terminal should feel bigger and less cheap */
.ari-init-screen {
  width: 100% !important;
}

.ari-terminal-shell {
  min-height: 62vh !important;
  border-radius: 24px !important;
  margin-top: 120px !important;
}

.ari-init-terminal {
  min-height: 62vh !important;
  padding: 34px 22px !important;
  gap: 24px !important;
}

.ari-init-big {
  font-size: clamp(1.6rem, 7vw, 2.45rem) !important;
}
/* =====================================================
ARI AUTH HARD RESET — FIX PHONE EDGES + CLEAN LOGIN
===================================================== */

body.ari-auth-body,
html:has(.ari-auth-body) {
  width: 100% !important;
  height: auto !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  position: static !important;
  inset: auto !important;
  display: block !important;
  background: #020617 !important;
}

body.ari-auth-body * {
  box-sizing: border-box !important;
}

body.ari-auth-body {
  font-family: Orbitron, system-ui, sans-serif !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(87,255,231,.18), transparent 34%),
    linear-gradient(180deg, #020617 0%, #03101a 52%, #020617 100%) !important;
}

body.ari-auth-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(87,255,231,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87,255,231,.045) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .45;
}

.ari-auth-page {
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 110px 18px 90px !important;
  display: block !important;
}

.ari-auth-card {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 28px !important;
  padding: 36px 18px 30px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(87,255,231,.18), transparent 38%),
    linear-gradient(180deg, rgba(5,18,31,.92), rgba(2,6,23,.94)) !important;
  border: 1px solid rgba(87,255,231,.32) !important;
  box-shadow:
    0 0 34px rgba(87,255,231,.14),
    inset 0 0 26px rgba(87,255,231,.04) !important;
}

.ari-chip-core {
  display: none !important;
}

.ari-auth-brand h1 {
  margin: 0 0 34px !important;
  font-size: clamp(2.25rem, 10vw, 3.05rem) !important;
  letter-spacing: .17em !important;
  line-height: 1.05 !important;
}

.ari-auth-tabs {
  gap: 12px !important;
  margin-bottom: 24px !important;
}

.ari-auth-tab {
  min-height: 52px !important;
  border-radius: 18px !important;
}

.ari-auth-field input {
  width: 100% !important;
  min-height: 62px !important;
  border-radius: 18px !important;
  background: rgba(2,6,23,.78) !important;
  color: white !important;
}

.ari-auth-main-btn {
  min-height: 66px !important;
  border-radius: 22px !important;
}

/* ARI AUTH — SPACE TERMINAL UPGRADE */

body.ari-auth-body .ari-chip-core {
  display: none !important;
}

body.ari-auth-body .ari-auth-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background:
    linear-gradient(90deg, rgba(87,255,231,.08) 1px, transparent 1px),
    linear-gradient(rgba(87,255,231,.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(87,255,231,.20), transparent 34%),
    linear-gradient(180deg, rgba(3,16,30,.94), rgba(2,6,23,.96)) !important;
  background-size: 38px 38px, 38px 38px, auto, auto !important;
}

body.ari-auth-body .ari-auth-card::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(165,243,252,.9), transparent);
  box-shadow: 0 0 18px rgba(87,255,231,.55);
  animation: ariAuthScan 3.2s ease-in-out infinite;
}

body.ari-auth-body .ari-auth-card::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 18px;
  border: 1px solid rgba(87,255,231,.12);
  pointer-events: none;
}

body.ari-auth-body .ari-auth-brand h1 {
  margin-top: 12px !important;
  text-shadow:
    0 0 8px rgba(207,250,254,.7),
    0 0 24px rgba(87,255,231,.38),
    0 0 56px rgba(87,255,231,.18) !important;
}

body.ari-auth-body .ari-auth-tabs,
body.ari-auth-body .ari-auth-field,
body.ari-auth-body .ari-auth-main-btn,
body.ari-auth-body .ari-auth-link-btn,
body.ari-auth-body .ari-auth-message {
  position: relative !important;
  z-index: 2 !important;
}

body.ari-auth-body .ari-auth-field input {
  background:
    linear-gradient(180deg, rgba(2,6,23,.86), rgba(1,8,18,.92)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 18px rgba(87,255,231,.06) !important;
}

body.ari-auth-body .ari-auth-field input:focus {
  border-color: rgba(165,243,252,.75) !important;
  box-shadow:
    0 0 0 1px rgba(165,243,252,.18),
    0 0 24px rgba(87,255,231,.20),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

@keyframes ariAuthScan {
  0%, 100% { opacity: .35; transform: translateX(-8px); }
  50% { opacity: 1; transform: translateX(8px); }
}

/* =====================================================
ARI AUTH — DARK SPACE TERMINAL FINAL
===================================================== */

body.ari-auth-body {
  background:
    radial-gradient(circle at 50% 18%, rgba(87,255,231,.08), transparent 34%),
    linear-gradient(180deg, #00040a 0%, #020814 52%, #00040a 100%) !important;
}

body.ari-auth-body::before {
  opacity: .18 !important;
  background-size: 32px 32px !important;
}

body.ari-auth-body .ari-auth-card {
  border-radius: 0 !important;
  padding: 42px 18px 34px !important;
  background:
    linear-gradient(90deg, rgba(87,255,231,.045) 1px, transparent 1px),
    linear-gradient(rgba(87,255,231,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(1,8,15,.94), rgba(0,2,7,.98)) !important;
  background-size: 32px 32px, 32px 32px, auto !important;
  border: 1px solid rgba(87,255,231,.52) !important;
  box-shadow:
    0 0 30px rgba(87,255,231,.14),
    inset 0 0 42px rgba(87,255,231,.035) !important;
  clip-path: polygon(
    22px 0,
    calc(100% - 22px) 0,
    100% 22px,
    100% calc(100% - 22px),
    calc(100% - 22px) 100%,
    22px 100%,
    0 calc(100% - 22px),
    0 22px
  );
}

body.ari-auth-body .ari-auth-brand h1 {
  font-family: "Courier New", monospace !important;
  font-size: clamp(2.05rem, 9vw, 3rem) !important;
  letter-spacing: .22em !important;
  color: rgba(105,255,255,.92) !important;
}

body.ari-auth-body .ari-auth-brand h1::before {
  content: none !important;
  display: none !important;
}

body.ari-auth-body .ari-auth-tab,
body.ari-auth-body .ari-auth-main-btn,
body.ari-auth-body .ari-auth-field input {
  border-radius: 3px !important;
  font-family: "Courier New", monospace !important;
  border-color: rgba(87,255,231,.55) !important;
  background: rgba(0,3,10,.72) !important;
}

body.ari-auth-body .ari-auth-tab.active::after,
body.ari-auth-body .ari-auth-main-btn::before,
body.ari-auth-body .ari-auth-field::after {
  content: "█";
  color: rgba(105,255,255,.75);
  animation: ariCursorBlink .8s steps(1) infinite;
}

body.ari-auth-body .ari-auth-field {
  position: relative;
}

body.ari-auth-body .ari-auth-field::after {
  position: absolute;
  left: 31px;
  bottom: 19px;
  font-size: 1rem;
  pointer-events: none;
}

body.ari-auth-body .ari-auth-field input:not(:placeholder-shown) + span,
body.ari-auth-body .ari-auth-field input:focus + span {
  display: none;
}

body.ari-auth-body .ari-auth-field label {
  font-family: "Courier New", monospace !important;
  letter-spacing: .18em !important;
}

body.ari-auth-body .ari-auth-field label::before {
  content: "> ";
}

body.ari-auth-body .ari-auth-main-btn {
  position: relative !important;
  color: rgba(105,255,255,.90) !important;
}

body.ari-auth-body .ari-auth-main-btn::before {
  position: absolute;
  left: 28px;
}

body.ari-auth-body .ari-auth-link-btn {
  font-family: "Courier New", monospace !important;
}

body.ari-auth-body .ari-auth-link-btn::before {
  content: "> ";
}

/* =====================================================
ARI AUTH — REMOVE FAKE BLINKING CURSORS
===================================================== */

body.ari-auth-body .ari-auth-tab.active::after,
body.ari-auth-body .ari-auth-main-btn::before,
body.ari-auth-body .ari-auth-field::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Optional: also hide the real typing caret */
body.ari-auth-body input {
  caret-color: transparent !important;
}

/* =====================================================
ARI INIT SCREEN — TRUE BLACK TERMINAL BOOT
===================================================== */

body.ari-auth-body .ari-init-screen {
  min-height: 100dvh !important;
  width: 100% !important;
  background: #000 !important;
  color: #9ffcff !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: 46px 22px !important;
}

body.ari-auth-body .ari-terminal-shell,
body.ari-auth-body .ari-init-terminal {
  width: 100% !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: #000 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.ari-auth-body .terminal-grid,
body.ari-auth-body .terminal-glow {
  display: none !important;
}

body.ari-auth-body .ari-init-terminal {
  display: block !important;
  font-family: "Courier New", "IBM Plex Mono", "JetBrains Mono", monospace !important;
}

body.ari-auth-body .ari-init-line {
  min-height: 24px !important;
  font-family: "Courier New", "IBM Plex Mono", "JetBrains Mono", monospace !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  letter-spacing: 0.02em !important;
  color: #9ffcff !important;
  text-shadow:
    0 0 5px rgba(159, 252, 255, 0.45),
    0 0 14px rgba(34, 211, 238, 0.20) !important;
}

body.ari-auth-body .ari-init-big {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #9ffcff !important;
}

body.ari-auth-body .ari-init-name,
body.ari-auth-body .ari-memory-line {
  color: #9ffcff !important;
  text-shadow:
    0 0 5px rgba(159, 252, 255, 0.45),
    0 0 14px rgba(34, 211, 238, 0.20) !important;
}

body.ari-auth-body .ari-terminal-cursor {
  display: inline-block !important;
  margin-left: 4px !important;
  color: #9ffcff !important;
  animation: ariCursorBlink 0.75s steps(1) infinite !important;
}
/* =====================================================
ARI AUTH — HEADER BOOT REVEAL
===================================================== */

body.ari-auth-body #ariBootLogo {
  opacity: 0.34 !important;
  filter: brightness(0.55) !important;
  transition: none !important;
}

body.ari-auth-body #ariBootLogo.booted {
  opacity: 1 !important;
  filter: brightness(1.35) !important;
  color: rgba(145, 255, 255, 0.98) !important;
  text-shadow:
    0 0 6px rgba(145,255,255,.95),
    0 0 18px rgba(87,255,231,.68),
    0 0 42px rgba(87,255,231,.34),
    0 0 72px rgba(87,255,231,.18) !important;
  animation: ariLogoPowerOn .8s steps(1) 1 !important;
}

body.ari-auth-body #ariBootMeaning {
  min-height: 24px !important;
  margin: -18px 0 28px !important;
  font-family: "Courier New", monospace !important;
  font-size: clamp(.62rem, 2.6vw, .86rem) !important;
  letter-spacing: .12em !important;
  color: rgba(145,255,255,.82) !important;
  text-shadow:
    0 0 5px rgba(145,255,255,.36),
    0 0 14px rgba(87,255,231,.16) !important;
  white-space: nowrap !important;
}

@keyframes ariLogoPowerOn {
  0% { opacity: .12; filter: brightness(.25); }
  10% { opacity: 1; filter: brightness(1.8); }
  18% { opacity: .18; filter: brightness(.25); }
  30% { opacity: .92; filter: brightness(1.2); }
  42% { opacity: .28; filter: brightness(.4); }
  58% { opacity: 1; filter: brightness(1.9); }
  72% { opacity: .62; filter: brightness(.9); }
  100% { opacity: 1; filter: brightness(1.35); }
}
/* =====================================================
ARI SIDE MENU — FUTURISTIC GLASS COMMAND NAV
===================================================== */

.ari-v1-home .ari-side-menu,
.ari-v1-home .side-menu {
  background:
    radial-gradient(circle at 50% 8%, rgba(34,211,238,.22), transparent 26%),
    radial-gradient(circle at 50% 42%, rgba(34,211,238,.08), transparent 38%),
    linear-gradient(180deg, rgba(1,12,24,.94), rgba(2,6,23,.98)) !important;

  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;

  padding: calc(env(safe-area-inset-top) + 132px) 22px 34px !important;
  overflow: hidden !important;
}

/* animated grid */
.ari-v1-home .ari-side-menu::before,
.ari-v1-home .side-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(103,232,249,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.055) 1px, transparent 1px);
  background-size: 34px 34px;
  animation: ariMenuGridDrift 18s linear infinite;
}

/* soft scan glow */
.ari-v1-home .ari-side-menu::after,
.ari-v1-home .side-menu::after {
  content: "";
  position: absolute;
  left: -20%;
  right: -20%;
  top: 0;
  height: 180px;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(103,232,249,.20),
    rgba(103,232,249,.04),
    transparent
  );
  filter: blur(18px);
  animation: ariMenuScan 7s ease-in-out infinite;
}

/* reactor close button */
.ari-v1-home .ari-side-menu .ari-close-menu,
.ari-v1-home .side-menu .ari-close-menu,
.ari-v1-home .ari-side-menu .close-menu,
.ari-v1-home .side-menu .close-menu {
  position: absolute !important;
  top: calc(env(safe-area-inset-top) + 34px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;

  width: 74px !important;
  height: 74px !important;
  border-radius: 50% !important;

  display: grid !important;
  place-items: center !important;

  border: 1px solid rgba(200,255,255,.44) !important;

  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.22), transparent 22%),
    radial-gradient(circle, rgba(103,232,249,.20), rgba(2,6,23,.88) 68%) !important;

  color: rgba(230,255,255,.96) !important;
  font-size: 46px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  box-shadow:
    0 0 0 10px rgba(34,211,238,.055),
    0 0 34px rgba(34,211,238,.42),
    inset 0 1px 0 rgba(255,255,255,.26),
    inset 0 -14px 28px rgba(0,0,0,.38) !important;

  text-shadow:
    0 0 8px rgba(200,255,255,.95),
    0 0 24px rgba(34,211,238,.58) !important;

  z-index: 3 !important;
}

/* rotating reactor ring */
.ari-v1-home .ari-side-menu .ari-close-menu::before,
.ari-v1-home .side-menu .ari-close-menu::before,
.ari-v1-home .ari-side-menu .close-menu::before,
.ari-v1-home .side-menu .close-menu::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background:
    conic-gradient(
      transparent 0deg,
      rgba(200,255,255,.85) 34deg,
      transparent 70deg,
      transparent 150deg,
      rgba(34,211,238,.75) 190deg,
      transparent 230deg,
      transparent 300deg,
      rgba(147,197,253,.60) 330deg,
      transparent 360deg
    );
  mask: radial-gradient(circle, transparent 59%, black 62%, black 70%, transparent 73%);
  -webkit-mask: radial-gradient(circle, transparent 59%, black 62%, black 70%, transparent 73%);
  animation: ariMenuReactorSpin 10s linear infinite;
  pointer-events: none;
}

/* command cards */
.ari-v1-home .ari-side-menu a,
.ari-v1-home .side-menu a {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  align-items: center !important;
  min-height: 78px !important;

  margin: 0 0 14px !important;
  padding: 0 20px !important;

  border-radius: 24px !important;
  border: 1px solid rgba(103,232,249,.22) !important;

  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
    radial-gradient(circle at 0% 0%, rgba(103,232,249,.13), transparent 34%),
    rgba(2,6,23,.42) !important;

  color: rgba(245,253,255,.95) !important;

  font-family: "Courier New", monospace !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  text-decoration: none !important;

  border-bottom: 1px solid rgba(103,232,249,.22) !important;

  box-shadow:
    0 12px 30px rgba(0,0,0,.26),
    0 0 20px rgba(34,211,238,.06),
    inset 0 1px 0 rgba(255,255,255,.13) !important;

  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;

  overflow: hidden !important;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease !important;
}

/* edge light sweep */
.ari-v1-home .ari-side-menu a::before,
.ari-v1-home .side-menu a::before {
  content: "";
  position: absolute;
  left: -40%;
  top: 0;
  width: 38%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(200,255,255,.18),
    transparent
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
}

.ari-v1-home .ari-side-menu a::after,
.ari-v1-home .side-menu a::after {
  content: "›";
  margin-left: auto;
  color: rgba(103,232,249,.78);
  font-size: 34px;
  text-shadow: 0 0 12px rgba(34,211,238,.55);
}

.ari-v1-home .ari-side-menu a:active,
.ari-v1-home .side-menu a:active {
  transform: scale(.985) translateY(1px) !important;
  border-color: rgba(165,243,252,.68) !important;
  box-shadow:
    0 0 24px rgba(34,211,238,.28),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.ari-v1-home .ari-side-menu a:active::before,
.ari-v1-home .side-menu a:active::before {
  animation: ariMenuCardSweep .45s ease 1;
}

/* hide old line separators feeling */
.ari-v1-home .ari-side-menu hr,
.ari-v1-home .side-menu hr {
  display: none !important;
}

/* bottom atmospheric fade */
.ari-v1-home .ari-side-menu {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -90px 120px rgba(0,0,0,.30) !important;
}

/* animations */
@keyframes ariMenuGridDrift {
  from {
    background-position: 0 0, 0 0;
  }

  to {
    background-position: 34px 34px, -34px 34px;
  }
}

@keyframes ariMenuScan {
  0%, 100% {
    opacity: .12;
    transform: translateY(-40px);
  }

  50% {
    opacity: .38;
    transform: translateY(30px);
  }
}

@keyframes ariMenuReactorSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ariMenuCardSweep {
  from {
    left: -45%;
    opacity: 0;
  }

  35% {
    opacity: 1;
  }

  to {
    left: 110%;
    opacity: 0;
  }
}
/* =====================================================
ARI SIDE MENU — WIDTH FIX + ORBITRON GLOW TABS
===================================================== */

.ari-v1-home .ari-side-menu,
.ari-v1-home .side-menu {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  overflow-x: hidden !important;
}

.ari-v1-home .ari-side-menu *,
.ari-v1-home .side-menu * {
  box-sizing: border-box !important;
}

.ari-v1-home .ari-side-menu a,
.ari-v1-home .side-menu a {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding: 0 16px !important;

  font-family: "Orbitron", "Courier New", monospace !important;
  font-size: clamp(16px, 4.5vw, 20px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;

  color: rgba(235, 255, 255, 0.96) !important;

  border: 1px solid rgba(103, 232, 249, 0.42) !important;

  box-shadow:
    0 0 14px rgba(34, 211, 238, 0.18),
    0 0 34px rgba(34, 211, 238, 0.08),
    0 12px 30px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 0 22px rgba(34, 211, 238, 0.045) !important;

  text-shadow:
    0 0 6px rgba(200, 255, 255, 0.58),
    0 0 14px rgba(34, 211, 238, 0.34) !important;
}

/* stronger LED glow line inside every tab */
.ari-v1-home .ari-side-menu a span,
.ari-v1-home .side-menu a span {
  min-width: 0 !important;
}

/* glowing aura edge */
.ari-v1-home .ari-side-menu a::before,
.ari-v1-home .side-menu a::before {
  opacity: 1 !important;
  left: 12px !important;
  top: auto !important;
  bottom: 9px !important;
  width: calc(100% - 58px) !important;
  height: 2px !important;
  transform: none !important;
  border-radius: 999px !important;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(103,232,249,.45),
      rgba(200,255,255,.95),
      rgba(103,232,249,.45),
      transparent
    ) !important;
  box-shadow:
    0 0 8px rgba(34,211,238,.75),
    0 0 18px rgba(34,211,238,.35) !important;
  animation: ariNavLedPulse 4.6s ease-in-out infinite !important;
}

/* arrow stays inside screen */
.ari-v1-home .ari-side-menu a::after,
.ari-v1-home .side-menu a::after {
  flex-shrink: 0 !important;
  margin-left: 10px !important;
  font-size: 26px !important;
}

/* press glow */
.ari-v1-home .ari-side-menu a:active,
.ari-v1-home .side-menu a:active {
  transform: scale(0.985) !important;
  border-color: rgba(200, 255, 255, 0.86) !important;
  box-shadow:
    0 0 22px rgba(34, 211, 238, 0.38),
    0 0 52px rgba(34, 211, 238, 0.18),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 0 28px rgba(34,211,238,.10) !important;
}

@keyframes ariNavLedPulse {
  0%, 100% {
    opacity: 0.38;
    filter: brightness(0.85);
  }

  50% {
    opacity: 1;
    filter: brightness(1.35);
  }
}
/* =====================================================
ARI SIDE MENU — HOLOGRAPHIC CARD POLISH
===================================================== */

/* menu opens like glass materializing */
.ari-v1-home .ari-side-menu.open,
.ari-v1-home .side-menu.open {
  animation: ariMenuMaterialize 0.38s ease both !important;
}

/* cards appear one by one */
.ari-v1-home .ari-side-menu.open a,
.ari-v1-home .side-menu.open a {
  animation: ariNavCardIn 0.42s ease both;
}

.ari-v1-home .ari-side-menu.open a:nth-of-type(1),
.ari-v1-home .side-menu.open a:nth-of-type(1) {
  animation-delay: 0.04s;
}

.ari-v1-home .ari-side-menu.open a:nth-of-type(2),
.ari-v1-home .side-menu.open a:nth-of-type(2) {
  animation-delay: 0.09s;
}

.ari-v1-home .ari-side-menu.open a:nth-of-type(3),
.ari-v1-home .side-menu.open a:nth-of-type(3) {
  animation-delay: 0.14s;
}

.ari-v1-home .ari-side-menu.open a:nth-of-type(4),
.ari-v1-home .side-menu.open a:nth-of-type(4) {
  animation-delay: 0.19s;
}

/* breathing aura */
.ari-v1-home .ari-side-menu a,
.ari-v1-home .side-menu a {
  animation: ariNavCardBreath 5.4s ease-in-out infinite;
}

/* holographic moving reflection */
.ari-v1-home .ari-side-menu a .ari-nav-shine,
.ari-v1-home .side-menu a .ari-nav-shine {
  display: none;
}

/* use extra layer without HTML changes */
.ari-v1-home .ari-side-menu a::after,
.ari-v1-home .side-menu a::after {
  content: "›" !important;
  position: relative !important;
  z-index: 3 !important;
  margin-left: auto !important;
}

/* add shimmer using background animation */
.ari-v1-home .ari-side-menu a {
  background-size: 220% 100%, auto, auto !important;
  animation:
    ariNavCardBreath 5.4s ease-in-out infinite,
    ariNavGlassShimmer 7s ease-in-out infinite !important;
}

/* top glass reflection */
.ari-v1-home .ari-side-menu a span,
.ari-v1-home .side-menu a span {
  position: relative !important;
  z-index: 3 !important;
}

/* press feels powered */
.ari-v1-home .ari-side-menu a:active,
.ari-v1-home .side-menu a:active {
  filter: brightness(1.28) saturate(1.15) !important;
}

/* animations */
@keyframes ariMenuMaterialize {
  from {
    opacity: 0;
    filter: blur(12px);
  }

  to {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes ariNavCardIn {
  from {
    opacity: 0;
    transform: translateX(-18px) scale(0.96);
    filter: blur(8px);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0);
  }
}

@keyframes ariNavCardBreath {
  0%, 100% {
    box-shadow:
      0 0 14px rgba(34,211,238,.16),
      0 0 34px rgba(34,211,238,.07),
      0 12px 30px rgba(0,0,0,.32),
      inset 0 1px 0 rgba(255,255,255,.14),
      inset 0 0 22px rgba(34,211,238,.045);
  }

  50% {
    box-shadow:
      0 0 22px rgba(34,211,238,.30),
      0 0 54px rgba(34,211,238,.14),
      0 14px 34px rgba(0,0,0,.36),
      inset 0 1px 0 rgba(255,255,255,.20),
      inset 0 0 30px rgba(34,211,238,.09);
  }
}

@keyframes ariNavGlassShimmer {
  0%, 100% {
    background-position: 0% 50%, center, center;
  }

  50% {
    background-position: 100% 50%, center, center;
  }
}

/* =====================================================
ARI SIDE MENU — CUSTOM FUTURE ICONS
===================================================== */

.ari-v1-home .ari-nav-link {
  gap: 14px !important;
}

.ari-v1-home .ari-nav-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(103,232,249,.58) !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(200,255,255,.96) !important;
  box-shadow:
    0 0 12px rgba(34,211,238,.38),
    inset 0 0 12px rgba(34,211,238,.10) !important;
}

/* Identity icon */
.ari-v1-home .nav-identity .ari-nav-icon::before {
  content: "◇";
  font-size: 22px;
  text-shadow: 0 0 10px rgba(103,232,249,.8);
}

/* Goals icon */
.ari-v1-home .nav-goals .ari-nav-icon::before {
  content: "◎";
  font-size: 24px;
  text-shadow: 0 0 10px rgba(103,232,249,.8);
}

/* Conversations icon */
.ari-v1-home .nav-conversations .ari-nav-icon::before {
  content: "◌";
  font-size: 24px;
  text-shadow: 0 0 10px rgba(103,232,249,.8);
}

/* Account icon */
.ari-v1-home .nav-account .ari-nav-icon::before {
  content: "⌬";
  font-size: 22px;
  text-shadow: 0 0 10px rgba(103,232,249,.8);
}