.arr-genie-fab{
  position:fixed!important;isolation:isolate!important;overflow:visible!important;z-index:46!important;right:max(20px,env(safe-area-inset-right))!important;bottom:max(20px,env(safe-area-inset-bottom))!important;
  display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;min-height:58px!important;
  padding:8px 16px 8px 9px!important;border:1px solid rgba(250,189,6,.62)!important;border-radius:999px!important;
  background:linear-gradient(135deg,rgba(58,1,64,.94),rgba(93,8,99,.9))!important;color:#fff!important;text-decoration:none!important;cursor:pointer!important;backdrop-filter:blur(16px) saturate(1.2)!important;
  box-shadow:0 18px 42px -18px rgba(58,1,64,.88)!important;transition:transform .22s ease,box-shadow .22s ease,opacity .2s ease!important;
}
.auth-entry[hidden]{display:none!important}
.arr-genie-fab::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(250,189,6,.25);border-radius:inherit;opacity:0;transform:scale(.9);animation:none;pointer-events:none}
.arr-genie-fab:hover{transform:translateY(-3px)!important;box-shadow:0 24px 48px -17px rgba(58,1,64,.94)!important}
.arr-genie-fab:focus-visible{outline:3px solid #fabd06!important;outline-offset:3px!important}
.arr-genie-fab-icon{position:relative;display:grid!important;place-items:center!important;width:48px!important;height:48px!important;flex:0 0 48px!important;margin:-5px 0 -5px -3px!important;border-radius:50%!important;background:url('assets/atlas-genie-v1-384.webp') center/contain no-repeat!important;color:transparent!important;font-size:0!important;filter:drop-shadow(0 7px 9px rgba(250,189,6,.24))!important;animation:none!important}
.arr-genie-fab-copy{display:grid!important;line-height:1.1!important;text-align:left!important}.arr-genie-fab-copy strong{font:800 13px/1.1 "ARR Sans",Arial,sans-serif!important}.arr-genie-fab-copy small{margin-top:3px!important;color:rgba(255,255,255,.72)!important;font:600 12px/1.1 "ARR Sans",Arial,sans-serif!important}

.arr-genie-dialog{width:min(560px,calc(100% - 32px));max-height:min(720px,calc(100dvh - 28px));padding:0;border:1px solid rgba(255,255,255,.72);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,249,235,.82));color:#16091a;box-shadow:0 30px 90px rgba(28,9,34,.34),inset 0 1px 0 rgba(255,255,255,.95);overflow:auto;backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}
.arr-genie-dialog::backdrop{background:rgba(20,7,24,.56);backdrop-filter:none}
.arr-genie-head{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(58,1,64,.1);background:rgba(255,253,248,.95);backdrop-filter:blur(14px)}
.arr-genie-title{display:flex;align-items:center;gap:11px}.arr-genie-title strong,.arr-genie-title small{display:block}.arr-genie-title strong{font:850 15px/1.15 "ARR Sans",Arial,sans-serif}.arr-genie-title small{margin-top:2px;color:#746676;font:600 12px/1.2 "ARR Sans",Arial,sans-serif}
.arr-genie-pet{position:relative;display:grid;place-items:center;width:48px;height:48px;overflow:visible;border:0;background:transparent;filter:drop-shadow(0 8px 9px rgba(58,1,64,.18))}.arr-genie-pet img{display:block;width:58px;height:58px;object-fit:contain}
.arr-genie-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(58,1,64,.12);border-radius:50%;background:#fff;color:#3a0140;font:400 24px/1 system-ui;cursor:pointer}.arr-genie-close:focus-visible{outline:3px solid #fabd06;outline-offset:2px}
.arr-genie-body{position:relative;isolation:isolate;padding:18px 18px 22px;overflow:hidden}
.arr-genie-map{position:absolute;z-index:-1;inset:-35px -70px auto auto;width:270px;height:190px;opacity:.22;background:radial-gradient(circle at 20% 74%,#6b016e 0 2px,transparent 3px),radial-gradient(circle at 49% 47%,#fabd06 0 3px,transparent 4px),radial-gradient(circle at 79% 22%,#6b016e 0 2px,transparent 3px)}
.arr-genie-map::before{content:"";position:absolute;inset:22px 15px 23px 20px;border:2px dashed rgba(107,1,110,.52);border-color:rgba(107,1,110,.52) transparent transparent rgba(107,1,110,.52);border-radius:48% 55% 38% 62%;transform:rotate(-13deg)}
.arr-genie-map::after{content:"N\A E";white-space:pre;position:absolute;right:48px;top:74px;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(107,1,110,.4);border-radius:50%;color:#6b016e;font:800 7px/1.25 "ARR Sans",Arial,sans-serif;text-align:center}
.arr-genie-message{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:16px}.arr-genie-message-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#3a0140;color:#fabd06;font-size:12px}.arr-genie-greeting{margin:1px 0 4px;color:#3a0140;font:700 clamp(23px,4.8vw,31px)/1.06 "ARR Sans",Arial,sans-serif;letter-spacing:-.035em}.arr-genie-lede{max-width:38ch;margin:0;color:#6d6070;font:500 13px/1.45 "ARR Sans",Arial,sans-serif}
.arr-genie-form{display:grid}.arr-genie-stage{display:grid;gap:11px}.arr-genie-stage[hidden]{display:none!important}.arr-genie-question-label{color:#3a0140;font:780 13px/1.3 "ARR Sans",Arial,sans-serif}
.arr-genie-compose{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px}.arr-genie-compose input{width:100%;min-height:50px;padding:0 14px;border:1px solid rgba(58,1,64,.18);border-radius:15px;background:#fff;color:#16091a;font:600 15px/1.2 "ARR Sans",Arial,sans-serif}.arr-genie-compose input:focus{outline:3px solid rgba(250,189,6,.48);border-color:#6b016e}.arr-genie-compose>button{display:grid;place-items:center;width:50px;height:50px;padding:0;border:0;border-radius:15px;background:#fabd06;color:#29102d;font:900 21px/1 system-ui;cursor:pointer}.arr-genie-compose>button:hover{background:#ffd352}.arr-genie-compose>button:focus-visible{outline:3px solid #6b016e;outline-offset:2px}
.arr-genie-stage-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#796d7b;font:500 12px/1.4 "ARR Sans",Arial,sans-serif}.arr-genie-skip,.arr-genie-memory{min-height:36px;padding:0;border:0;background:transparent;color:#6b016e;font:750 12px/1 "ARR Sans",Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.arr-genie-memory{justify-self:start;margin-top:-3px}
.arr-genie-plan{position:relative;overflow:hidden;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:62px;padding:10px 13px;border:1px solid rgba(250,189,6,.32);border-radius:17px;background:linear-gradient(135deg,#3a0140,#6b016e);color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 34px -22px rgba(58,1,64,.92)}.arr-genie-plan::after,.arr-genie-enquire::after{content:"";position:absolute;inset:-60% auto -60% -45%;width:34%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transition:left .5s ease}.arr-genie-plan:hover::after,.arr-genie-enquire:hover::after{left:112%}.arr-genie-plan>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fabd06;color:#3a0140}.arr-genie-plan strong,.arr-genie-plan small{display:block}.arr-genie-plan strong{font:820 14px/1.2 "ARR Sans",Arial,sans-serif}.arr-genie-plan small{margin-top:3px;color:rgba(255,255,255,.72);font:600 12px/1.2 "ARR Sans",Arial,sans-serif}.arr-genie-plan>b{color:#fabd06;font-size:18px}.arr-genie-plan:hover{background:linear-gradient(135deg,#48044d,#7b087f)}.arr-genie-plan:focus-visible{outline:3px solid #fabd06;outline-offset:2px}
.arr-genie-or{display:flex;align-items:center;gap:10px;margin:1px 0;color:#8a7e8b;font:650 12px/1 "ARR Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.arr-genie-or::before,.arr-genie-or::after{content:"";height:1px;flex:1;background:rgba(58,1,64,.1)}
.arr-genie-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.arr-genie-quick button{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 10px;border:1px solid rgba(107,1,110,.13);border-radius:13px;background:#f8f2ea;color:#3a0140;font:760 12px/1.25 "ARR Sans",Arial,sans-serif;text-align:left;cursor:pointer}.arr-genie-quick button span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#fff;color:#6b016e}.arr-genie-quick button:hover{border-color:#e7b725;background:#fff8d9}.arr-genie-quick button:focus-visible{outline:3px solid #fabd06;outline-offset:2px}
.arr-genie-spell{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:13px;margin-top:15px;padding:14px;border:1px solid rgba(250,189,6,.34);border-radius:18px;background:radial-gradient(circle at 8% 20%,rgba(250,189,6,.2),transparent 40%),rgba(255,255,255,.72);box-shadow:inset 0 1px 0 #fff}.arr-genie-spell[hidden]{display:none}.arr-genie-spell>img{width:62px;height:62px;object-fit:contain;animation:arr-genie-float 1.3s ease-in-out 3}.arr-genie-spell strong,.arr-genie-spell span{display:block}.arr-genie-spell strong{color:#3a0140;font:780 17px/1.1 "ARR Sans",Arial,sans-serif}.arr-genie-spell span{margin-top:4px;color:#746676;font:600 12px/1.3 "ARR Sans",Arial,sans-serif}.arr-genie-spell i{display:flex;gap:5px;margin-top:9px}.arr-genie-spell i b{width:5px;height:5px;border-radius:50%;background:#6b016e;animation:arr-genie-route-dot .9s ease-in-out 4}.arr-genie-spell i b:nth-child(2){animation-delay:.15s}.arr-genie-spell i b:nth-child(3){animation-delay:.3s}
.arr-genie-answer{display:none;grid-template-columns:28px minmax(0,1fr);gap:10px;margin-top:15px;padding:14px;border:1px solid rgba(107,1,110,.13);border-radius:16px;background:rgba(255,255,255,.82);color:#3a0140;box-shadow:inset 0 1px 0 #fff}.arr-genie-answer.is-visible{display:grid;animation:arr-genie-answer-in .28s ease both}.arr-genie-answer-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff2b8;color:#6b016e;font-size:12px}.arr-genie-answer strong{display:block;margin:1px 0 6px;font:820 13px/1.3 "ARR Sans",Arial,sans-serif}.arr-genie-answer p{margin:0;color:#655867;font:500 12px/1.5 "ARR Sans",Arial,sans-serif}.arr-genie-answer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:11px}.arr-genie-enquire{position:relative;overflow:hidden;min-height:40px;padding:0 13px;border:0;border-radius:11px;background:#fabd06;color:#29102d;font:820 12px/1 "ARR Sans",Arial,sans-serif;cursor:pointer}.arr-genie-answer a{display:inline-flex;align-items:center;min-height:40px;color:#6b016e;font:780 12px/1 "ARR Sans",Arial,sans-serif;text-underline-offset:3px}
.arr-genie-again{min-height:36px;padding:0;border:0;background:transparent;color:#6b016e;font:760 12px/1 "ARR Sans",Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

@keyframes arr-genie-breathe{0%,60%,100%{opacity:0;transform:scale(.94)}72%{opacity:.75}86%{opacity:0;transform:scale(1.13)}}
@keyframes arr-genie-blink{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.08)}}
@keyframes arr-genie-answer-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes arr-genie-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes arr-genie-route-dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px);background:#fabd06}}
@media(max-width:800px){
  .arr-genie-fab{right:12px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;width:56px!important;height:56px!important;min-height:56px!important;padding:8px!important;justify-content:center!important}
  .arr-genie-fab-icon{width:40px!important;height:40px!important}.arr-genie-fab-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .arr-genie-dialog{width:calc(100dvw - 16px);max-width:none;max-height:calc(100dvh - 16px);margin:auto 8px 8px;border-radius:24px 24px 18px 18px}.arr-genie-head{padding:11px 13px}.arr-genie-body{padding:15px 14px 18px}.arr-genie-message{margin-bottom:13px}.arr-genie-greeting{font-size:25px}.arr-genie-quick button{min-height:50px}.arr-genie-stage-foot{align-items:flex-start}.arr-genie-stage-foot span{max-width:20ch}
}

/* ARR Genie motion grammar v1. The hit area never moves; only the artwork
   transforms. Every moment is one-shot and the finite-state controller owns
   timing, priority, cooldown, visibility and reduced-motion suppression. */
.arr-genie-fab .arr-genie-fab-icon,.arr-genie-fab::after{animation:none!important}
.arr-genie-fab[data-genie-activity] .arr-genie-fab-icon{
  transform-origin:50% 64%;
  will-change:transform,opacity;
  animation:arr-genie-motion-moment var(--genie-motion-duration,.9s) cubic-bezier(.2,.8,.2,1) both!important
}
.arr-genie-fab:is(
  .is-motion-shimmer,.is-motion-spark-sneeze,.is-motion-tap-glow,.is-motion-giggle,
  .is-motion-answer-spark,.is-motion-celebrate,.is-motion-cast-wish,.is-motion-page-arrival
)::after{animation:arr-genie-motion-spark var(--genie-motion-duration,.9s) ease both!important}

.arr-genie-fab.is-motion-breathe{--genie-motion-duration:1.1s;--motion-a:translateY(-2px) scale(1.015);--motion-b:translateY(1px) scale(.99);--motion-c:translateY(0) scale(1)}
.arr-genie-fab.is-motion-blink{--genie-motion-duration:.62s;--motion-a:scale(1,.91);--motion-b:scale(1,1.025);--motion-c:scale(1)}
.arr-genie-fab.is-motion-stargaze{--genie-motion-duration:1.2s;--motion-a:translate(-2px,-4px) rotate(-4deg);--motion-b:translate(3px,-6px) rotate(4deg);--motion-c:translateY(-1px)}
.arr-genie-fab.is-motion-shimmer{--genie-motion-duration:.9s;--motion-a:translateY(-3px) scale(1.055);--motion-b:translateY(-5px) scale(1.025);--motion-c:scale(1)}
.arr-genie-fab.is-motion-cloud-sway{--genie-motion-duration:1.15s;--motion-a:translateX(-5px) rotate(-4deg);--motion-b:translateX(5px) rotate(4deg);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-tiny-yawn{--genie-motion-duration:1.05s;--motion-a:translateY(3px) rotate(4deg) scale(.96);--motion-b:translateY(-2px) rotate(-2deg) scale(1.01);--motion-c:scale(1)}
.arr-genie-fab.is-motion-stretch{--genie-motion-duration:1.05s;--motion-a:translateY(3px) scale(.94,1.04);--motion-b:translateY(-6px) scale(1.04,.98);--motion-c:scale(1)}
.arr-genie-fab.is-motion-peek{--genie-motion-duration:.9s;--motion-a:translateX(7px) rotate(6deg) scale(.98);--motion-b:translateX(2px) rotate(2deg) scale(1.035);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-cursor-watch{--genie-motion-duration:.72s;--motion-a:translate(3px,-3px) rotate(4deg) scale(1.025);--motion-b:translate(-2px,-5px) rotate(-2deg) scale(1.045);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-spark-sneeze{--genie-motion-duration:.88s;--motion-a:translate(-3px,2px) rotate(-5deg) scale(.96);--motion-b:translate(5px,-6px) rotate(7deg) scale(1.045);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-moonwalk{--genie-motion-duration:1.08s;--motion-a:translateX(9px) rotate(4deg) scale(.98);--motion-b:translateX(-9px) rotate(-4deg) scale(1.02);--motion-c:translateX(0)}

.arr-genie-fab.is-motion-greet-wave{--genie-motion-duration:.98s;--motion-a:translate(-4px,-5px) rotate(-9deg);--motion-b:translate(4px,-7px) rotate(9deg) scale(1.045);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-return-twirl{--genie-motion-duration:1.05s;--motion-a:translateY(-7px) rotate(-15deg) scale(1.035);--motion-b:translateY(-9px) rotate(16deg) scale(1.06);--motion-c:rotate(0)}
.arr-genie-fab.is-motion-welcome-bow{--genie-motion-duration:.98s;--motion-a:translateY(5px) rotate(7deg) scale(.96);--motion-b:translateY(-2px) rotate(-2deg) scale(1.025);--motion-c:translateY(0)}

.arr-genie-fab.is-motion-tap-glow{--genie-motion-duration:.62s;--motion-a:translateY(-5px) scale(1.08);--motion-b:translateY(1px) scale(.98);--motion-c:scale(1)}
.arr-genie-fab.is-motion-nuzzle{--genie-motion-duration:.76s;--motion-a:translate(-5px,-3px) rotate(-7deg) scale(1.035);--motion-b:translate(2px,-5px) rotate(-2deg) scale(1.055);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-giggle{--genie-motion-duration:.9s;--motion-a:translate(-4px,-4px) rotate(-6deg) scale(1.04);--motion-b:translate(4px,-5px) rotate(6deg) scale(1.04);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-hold-dance{--genie-motion-duration:1.32s;--motion-a:translate(-8px,-6px) rotate(-13deg) scale(1.05);--motion-b:translate(8px,-11px) rotate(13deg) scale(1.08);--motion-c:translateY(-1px)}

.arr-genie-fab.is-motion-lift{--genie-motion-duration:.48s;--motion-a:translateY(-7px) scale(1.055);--motion-b:translateY(-9px) scale(1.03);--motion-c:translateY(-6px)}
.arr-genie-fab.is-motion-carried{--genie-motion-duration:.7s;--motion-a:translateY(-5px) rotate(-3deg) scale(1.045);--motion-b:translateY(-7px) rotate(3deg) scale(1.055);--motion-c:translateY(-5px)}
.arr-genie-fab.is-motion-landing-bounce{--genie-motion-duration:.72s;--motion-a:translateY(3px) scale(1.04,.94);--motion-b:translateY(-7px) scale(.98,1.05);--motion-c:scale(1)}
.arr-genie-fab.is-motion-edge-peek{--genie-motion-duration:.92s;--motion-a:translateX(10px) rotate(7deg) scale(.93);--motion-b:translateX(4px) rotate(3deg) scale(1.015);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-keyboard-nudge{--genie-motion-duration:.66s;--motion-a:translateX(-3px) scale(.98);--motion-b:translateX(4px) scale(1.025);--motion-c:translateX(0)}

.arr-genie-fab.is-motion-section-hop{--genie-motion-duration:.72s;--motion-a:translateY(-10px) rotate(5deg) scale(1.045);--motion-b:translateY(2px) rotate(-3deg);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-guide-point{--genie-motion-duration:.82s;--motion-a:translate(7px,-4px) rotate(6deg) scale(1.035);--motion-b:translate(4px,-7px) rotate(2deg) scale(1.055);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-scroll-glide{--genie-motion-duration:.85s;--motion-a:translate(-10px,-4px) rotate(-5deg);--motion-b:translate(10px,-6px) rotate(5deg) scale(1.035);--motion-c:translateX(0)}

.arr-genie-fab.is-motion-dialog-bow{--genie-motion-duration:.72s;--motion-a:translateY(4px) rotate(6deg) scale(.97);--motion-b:translateY(-3px) rotate(-2deg) scale(1.03);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-listen{--genie-motion-duration:.86s;--motion-a:translateX(-4px) rotate(-8deg) scale(1.025);--motion-b:translateX(2px) rotate(-3deg) scale(1.05);--motion-c:translateX(0)}
.arr-genie-fab.is-motion-think{--genie-motion-duration:1.1s;--motion-a:translate(-3px,-4px) rotate(-6deg) scale(.985);--motion-b:translate(3px,-7px) rotate(4deg) scale(1.035);--motion-c:translateY(-1px)}
.arr-genie-fab.is-motion-answer-spark{--genie-motion-duration:.82s;--motion-a:translateY(-8px) scale(1.07);--motion-b:translateY(-3px) rotate(5deg) scale(1.035);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-celebrate{--genie-motion-duration:1.05s;--motion-a:translate(-7px,-10px) rotate(-11deg) scale(1.07);--motion-b:translate(7px,-12px) rotate(11deg) scale(1.09);--motion-c:translateY(0)}
.arr-genie-fab.is-motion-goodnight-wave{--genie-motion-duration:.76s;--motion-a:translate(4px,2px) rotate(8deg) scale(.98);--motion-b:translate(-3px,-3px) rotate(-6deg) scale(1.025);--motion-c:translateY(0)}

.arr-genie-fab.is-motion-cast-wish{--genie-motion-duration:.62s;--motion-a:translate(-5px,-8px) rotate(-8deg) scale(1.08);--motion-b:translate(6px,-10px) rotate(9deg) scale(1.1);--motion-c:translateY(-2px)}
.arr-genie-fab.is-motion-page-arrival{--genie-motion-duration:1.02s;--motion-a:translate(11px,8px) rotate(12deg) scale(.82);--motion-b:translate(-5px,-7px) rotate(-5deg) scale(1.075);--motion-c:translateY(0)}

/* Dialog reactions use the same controller but animate the in-dialog pet,
   because the floating button is intentionally unavailable behind a modal. */
.arr-genie-pet[data-genie-activity] img{animation:none!important;transform-origin:50% 64%;will-change:transform,opacity}
.arr-genie-pet.is-motion-dialog-bow img{animation:arr-genie-dialog-bow .72s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-pet.is-motion-listen img{animation:arr-genie-dialog-listen .86s cubic-bezier(.2,.8,.2,1) both,arr-genie-dialog-breathe 3.2s .9s ease-in-out infinite!important}
.arr-genie-pet.is-motion-think img{animation:arr-genie-dialog-think 1.1s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-pet.is-motion-answer-spark img{animation:arr-genie-dialog-answer .82s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-pet.is-motion-celebrate img{animation:arr-genie-dialog-celebrate 1.05s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-pet:is(.is-motion-answer-spark,.is-motion-celebrate) i{animation:arr-genie-motion-spark .82s ease both!important}
@keyframes arr-genie-dialog-bow{0%,100%{transform:none;opacity:1}42%{transform:translateY(7px) rotate(6deg) scale(.96);opacity:.98}72%{transform:translateY(-3px) rotate(-2deg) scale(1.025);opacity:1}}
@keyframes arr-genie-dialog-listen{0%,100%{transform:none;opacity:1}38%{transform:translateX(-6px) rotate(-7deg) scale(1.02);opacity:.98}70%{transform:translate(2px,-4px) rotate(-2deg) scale(1.045);opacity:1}}
@keyframes arr-genie-dialog-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.025)}}
@keyframes arr-genie-dialog-think{0%,100%{transform:none;opacity:1}34%{transform:translate(-4px,-6px) rotate(-5deg) scale(.985);opacity:.97}68%{transform:translate(4px,-9px) rotate(4deg) scale(1.035);opacity:1}}
@keyframes arr-genie-dialog-answer{0%,100%{transform:none;opacity:1}38%{transform:translateY(-11px) scale(1.07);opacity:1}72%{transform:translate(4px,-4px) rotate(5deg) scale(1.025);opacity:.99}}
@keyframes arr-genie-dialog-celebrate{0%,100%{transform:none;opacity:1}32%{transform:translate(-9px,-12px) rotate(-12deg) scale(1.07);opacity:1}66%{transform:translate(9px,-14px) rotate(12deg) scale(1.1);opacity:1}}

@keyframes arr-genie-motion-moment{
  0%,100%{transform:none;opacity:1}
  34%{transform:var(--motion-a);opacity:.98}
  68%{transform:var(--motion-b);opacity:1}
  88%{transform:var(--motion-c);opacity:1}
}
@keyframes arr-genie-motion-spark{
  0%,100%{transform:scale(.72) rotate(0);opacity:.18}
  48%{transform:translate(-8px,-11px) scale(1.55) rotate(90deg);opacity:.92}
}
@media(prefers-reduced-motion:reduce){
  .arr-genie-fab[data-genie-activity],
  .arr-genie-fab[data-genie-activity]::before,
  .arr-genie-fab[data-genie-activity]::after,
  .arr-genie-fab[data-genie-activity] .arr-genie-fab-icon{
    animation:none!important;transition:none!important;transform:none!important
  }
}
@media(max-width:800px){
  .arr-genie-fab:not(.is-mobile-docked):not(.is-placed){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .arr-genie-fab.is-mobile-docked,.arr-genie-fab.is-placed{visibility:visible}
}
body.has-sticky-actions .arr-genie-fab{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px)!important}
@media(max-width:350px){.arr-genie-quick{grid-template-columns:1fr}.arr-genie-dialog{width:calc(100% - 10px)}}
@media(prefers-reduced-motion:reduce){.arr-genie-fab,.arr-genie-fab::before,.arr-genie-fab-icon,.arr-genie-spell>img,.arr-genie-spell i b,.arr-genie-answer.is-visible{transition:none!important;animation:none!important}.arr-genie-fab:hover{transform:none!important}.arr-genie-plan::after,.arr-genie-enquire::after{display:none}}

/* Council mobile target audit: every interactive Genie control is at least 44px tall. */
.arr-genie-skip,.arr-genie-memory,.arr-genie-enquire,.arr-genie-answer a,.arr-genie-again{min-height:44px}

/* Pet-first Genie v2: one living character, one question, progressive actions. */
.arr-genie-dialog{
  width:min(420px,calc(100% - 24px));max-height:min(640px,calc(100dvh - 24px));
  border-radius:32px;background:
    radial-gradient(circle at 50% -8%,rgba(250,189,6,.19),transparent 34%),
    linear-gradient(160deg,rgba(255,255,255,.96),rgba(251,247,239,.94));
  position:relative;isolation:isolate;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(58,1,64,.22) transparent
}
.arr-genie-head{position:absolute;z-index:5;inset:12px 12px auto 12px;padding:0;border:0;background:transparent;backdrop-filter:none;pointer-events:none}
.arr-genie-sr-title,.arr-genie-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.arr-genie-head-star{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.66);color:#6b016e;font-size:13px;box-shadow:0 8px 24px rgba(58,1,64,.1);pointer-events:none}
.arr-genie-close{width:44px;height:44px;background:rgba(255,255,255,.74);backdrop-filter:blur(12px);pointer-events:auto}
.arr-genie-body{padding:24px 18px 20px;overflow:hidden}
.arr-genie-map{display:none}
.arr-genie-scene{--pet-x:0deg;--pet-y:0deg;position:relative;display:grid;justify-items:center;gap:4px;min-height:224px;padding:8px 38px 14px;perspective:700px}
.arr-genie-scene::before{content:"";position:absolute;z-index:-1;left:50%;top:58px;width:132px;height:132px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(250,189,6,.2),rgba(107,1,110,.06) 48%,transparent 70%);filter:blur(2px);transition:transform .4s ease,opacity .4s ease}
.arr-genie-pet{width:132px;height:132px;transform:rotateX(var(--pet-y)) rotateY(var(--pet-x));transform-style:preserve-3d;transition:transform .28s ease,filter .28s ease;filter:drop-shadow(0 18px 16px rgba(58,1,64,.22))}
.arr-genie-pet img{width:142px;height:142px;animation:none}
.arr-genie-pet i{position:absolute;color:#f3bb14;font:400 13px/1 "ARR Sans",Arial,sans-serif;text-shadow:0 0 12px rgba(250,189,6,.92);opacity:.55;animation:none}
.arr-genie-pet i:nth-child(2){left:5px;top:30px}.arr-genie-pet i:nth-child(3){right:2px;top:57px;animation-delay:.7s}.arr-genie-pet i:nth-child(4){left:25px;bottom:8px;animation-delay:1.35s}
@media(prefers-reduced-motion:no-preference){
  .arr-genie-dialog[open] .arr-genie-scene::before{animation:arr-genie-halo-breathe 3.2s ease-in-out infinite}
  .arr-genie-dialog[open] .arr-genie-pet i{animation:arr-genie-star-orbit 2.8s ease-in-out infinite}
  .arr-genie-dialog[open] .arr-genie-pet i:nth-child(3){animation-delay:.7s}
  .arr-genie-dialog[open] .arr-genie-pet i:nth-child(4){animation-delay:1.35s}
}

/* Living Genie Companion: the pet stays free while smoke becomes a compact
   page-aware conversation bubble. This deliberately replaces modal styling. */
.arr-genie-dialog.arr-genie-bubble[open]{
  position:fixed!important;inset:auto!important;margin:0!important;padding:0!important;
  width:min(380px,calc(100vw - 20px));max-width:none!important;max-height:min(520px,calc(100dvh - 20px));
  overflow:auto;border:1px solid rgba(107,1,110,.18)!important;border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(249,242,250,.97))!important;
  color:#26172c!important;box-shadow:0 24px 64px -30px rgba(32,5,38,.7),0 0 0 1px rgba(255,221,95,.2)!important;
  transform-origin:var(--bubble-origin,100% 80%);animation:arr-genie-smoke-bubble .34s cubic-bezier(.2,.85,.2,1) both;
  z-index:9997!important;overscroll-behavior:contain
}
.arr-genie-dialog.arr-genie-bubble::backdrop{display:none!important;background:transparent!important;backdrop-filter:none!important}
.arr-genie-bubble[data-placement="left"]{--bubble-origin:100% 70%}.arr-genie-bubble[data-placement="right"]{--bubble-origin:0 70%}
.arr-genie-bubble::after{content:"";position:fixed;width:17px;height:17px;background:#fffdf8;border:solid rgba(107,1,110,.17);transform:rotate(45deg);pointer-events:none}
.arr-genie-bubble[data-placement="left"]::after{right:-9px;top:68%;border-width:1px 1px 0 0}
.arr-genie-bubble[data-placement="right"]::after{left:-9px;top:68%;border-width:0 0 1px 1px}
.arr-genie-bubble .arr-genie-head{min-height:42px;padding:6px 8px 0 15px;background:transparent!important;border:0!important}
.arr-genie-bubble .arr-genie-close{width:44px!important;height:44px!important;min-width:44px!important}
.arr-genie-bubble .arr-genie-body{padding:0 14px 14px!important}
.arr-genie-bubble .arr-genie-scene{min-height:44px!important;padding:0 4px 8px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.arr-genie-bubble .arr-genie-pet{display:none!important}
.arr-genie-bubble .arr-genie-greeting{font-size:20px!important;line-height:1.15!important;margin:0!important}
.arr-genie-bubble .arr-genie-lede{margin:3px 0 0!important;font-size:13px!important}
.arr-genie-bubble .arr-genie-stage{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.arr-genie-bubble .arr-genie-compose{min-height:52px!important;border-radius:17px!important;background:#fff!important}
.arr-genie-bubble .arr-genie-compose input{min-width:0!important;font-size:16px!important}
.arr-genie-bubble .arr-genie-spell{min-height:94px!important;padding:16px!important;border-radius:18px!important;background:radial-gradient(circle at 24% 50%,rgba(255,220,85,.24),transparent 46%),#faf5fb!important}
.arr-genie-bubble .arr-genie-spell img{width:58px!important;height:58px!important;animation:arr-genie-star-orbit 1.25s ease-in-out 3}
.arr-genie-bubble .arr-genie-answer{padding:13px!important;border-radius:18px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(107,1,110,.1)!important}
.arr-genie-bubble .arr-genie-answer p{max-height:150px;overflow:auto;margin:5px 0 0!important;scrollbar-width:thin}
.arr-genie-answer-phrase{opacity:0;display:inline;animation:arr-genie-phrase .28s ease forwards;animation-delay:calc(var(--phrase-index) * 110ms)}
.arr-genie-more{min-height:38px;border:0;background:transparent;color:#6b016e;font-weight:800;padding:5px 0}
.arr-genie-next-actions,.arr-genie-answer-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:10px!important}
.arr-genie-next,.arr-genie-bubble .arr-genie-answer-actions button,.arr-genie-bubble .arr-genie-answer-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px!important;border:1px solid rgba(107,1,110,.16)!important;border-radius:999px!important;background:#fffaf2!important;color:#500052!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important}
.arr-genie-next:hover,.arr-genie-bubble .arr-genie-answer-actions button:hover,.arr-genie-bubble .arr-genie-answer-actions a:hover{border-color:#fabd06!important;box-shadow:0 6px 18px -13px #3a0140}
.arr-genie-open .arr-genie-fab{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
@keyframes arr-genie-smoke-bubble{from{opacity:0;transform:scale(.72) translateY(16px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes arr-genie-phrase{from{opacity:0;filter:blur(3px);color:#b88700}to{opacity:1;filter:none;color:inherit}}
@keyframes arr-genie-star-orbit{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(5deg)}}
@media(max-width:560px){
  .arr-genie-dialog.arr-genie-bubble[open]{width:min(340px,calc(100vw - 16px));max-height:min(440px,calc(100dvh - 16px));border-radius:21px!important}
  .arr-genie-bubble .arr-genie-stage-foot{display:flex!important;flex-wrap:wrap;align-items:center}
  .arr-genie-bubble .arr-genie-greeting{font-size:18px!important}
}
@media(prefers-reduced-motion:reduce){
  .arr-genie-dialog.arr-genie-bubble[open],.arr-genie-answer-phrase,.arr-genie-bubble .arr-genie-spell img{animation:none!important;transition:none!important;filter:none!important;opacity:1!important}
}
.arr-genie-message{display:grid;grid-template-columns:1fr;width:100%;place-items:center;gap:2px;margin:0;text-align:center}
.arr-genie-greeting{margin:0;color:#3a0140;font:760 21px/1.12 "ARR Sans",Arial,sans-serif;letter-spacing:-.025em}
.arr-genie-lede{min-height:18px;margin:2px 0 0;color:#746676;font:600 12px/1.4 "ARR Sans",Arial,sans-serif}
.arr-genie-message-dot{display:none}
.arr-genie-form{position:relative;z-index:2}
.arr-genie-stage{gap:9px}
.arr-genie-compose{grid-template-columns:minmax(0,1fr) 52px;padding:5px;border:1px solid rgba(58,1,64,.12);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 16px 40px -28px rgba(58,1,64,.8),inset 0 1px 0 #fff}
.arr-genie-compose input{min-height:50px;padding:0 14px;border:0;border-radius:15px;background:transparent;font-size:14px}
.arr-genie-compose input:focus{outline:0;border:0}
.arr-genie-compose:focus-within{outline:3px solid rgba(250,189,6,.48);border-color:#6b016e}
.arr-genie-compose>button{width:52px;height:50px;border-radius:15px;box-shadow:0 10px 22px -12px rgba(58,1,64,.8)}
.arr-genie-stage-foot{justify-content:center;gap:8px;margin-top:1px}
.arr-genie-name-stage .arr-genie-stage-foot{justify-content:space-between;padding:0 5px}
.arr-genie-actions{display:flex;flex-wrap:wrap}
.arr-genie-plan,.arr-genie-login{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid rgba(107,1,110,.13);border-radius:999px;background:#f7f1e9;color:#3a0140;font:780 12px/1 "ARR Sans",Arial,sans-serif;box-shadow:none;cursor:pointer}
.arr-genie-login[hidden]{display:none!important}
.arr-genie-plan>span:first-child,.arr-genie-login>span:first-child{display:inline;color:#6b016e;background:transparent;width:auto;height:auto}
.arr-genie-plan strong,.arr-genie-login strong{font:inherit}.arr-genie-plan>b{color:#6b016e;font-size:13px}
.arr-genie-plan:hover,.arr-genie-login:hover{background:#fff5c8;border-color:rgba(250,189,6,.7)}
.arr-genie-plan::after{display:none}
.arr-genie-memory,.arr-genie-skip{display:inline-flex;align-items:center;min-height:44px}
.arr-genie-memory{padding:0 8px;text-decoration:none;color:#6f6371}
.arr-genie-privacy{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:#6f6371;font:700 12px/1.2 "ARR Sans",Arial,sans-serif;text-underline-offset:3px}
.arr-genie-spell{position:absolute;z-index:4;inset:140px 22px auto;grid-template-columns:1fr;justify-items:center;margin:0;padding:13px;border-radius:18px;text-align:center;box-shadow:0 18px 48px -26px rgba(58,1,64,.85)}
.arr-genie-spell>img{display:none}.arr-genie-spell strong{font-family:"ARR Sans",Arial,sans-serif;font-size:13px}.arr-genie-spell span{display:none}.arr-genie-spell i{justify-content:center}
.arr-genie-answer{margin-top:12px;padding:13px;border-radius:18px}.arr-genie-answer p{font-size:12px;line-height:1.48}
.arr-genie-answer-actions{gap:6px 10px}.arr-genie-enquire{border-radius:999px}.arr-genie-answer a,.arr-genie-again{font-size:12px}
.arr-genie-scene[data-state="hello"] .arr-genie-pet img{animation:arr-genie-pet-hello .8s cubic-bezier(.2,.8,.2,1) both}
.arr-genie-scene[data-state="curious"] .arr-genie-pet{transform:rotateX(var(--pet-y)) rotateY(var(--pet-x)) rotate(-7deg) scale(1.04)}
.arr-genie-scene[data-state="thinking"] .arr-genie-pet img{animation:arr-genie-pet-think .9s ease-in-out 4}.arr-genie-scene[data-state="thinking"] .arr-genie-pet i{animation-duration:.65s;opacity:1}
.arr-genie-scene[data-state="happy"] .arr-genie-pet img{animation:arr-genie-pet-happy .72s cubic-bezier(.2,.9,.2,1) both}.arr-genie-scene[data-state="happy"]::before{transform:translateX(-50%) scale(1.28);opacity:.9}
@keyframes arr-genie-pet-idle{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes arr-genie-pet-hello{0%{transform:translateY(14px) scale(.88);opacity:.4}58%{transform:translateY(-8px) scale(1.06)}100%{transform:none;opacity:1}}
@keyframes arr-genie-pet-think{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(6deg)}}
@keyframes arr-genie-pet-happy{0%{transform:scale(.9)}45%{transform:translateY(-15px) rotate(8deg) scale(1.1)}75%{transform:translateY(2px) rotate(-4deg)}100%{transform:none}}
@keyframes arr-genie-star-orbit{0%,100%{transform:translate(0,0) scale(.75);opacity:.2}50%{transform:translate(5px,-9px) scale(1.2);opacity:1}}
@keyframes arr-genie-halo-breathe{0%,100%{opacity:.58;transform:translateX(-50%) scale(.94)}50%{opacity:1;transform:translateX(-50%) scale(1.08)}}
@media(max-width:800px){
  .arr-genie-dialog{width:calc(100% - 20px);max-width:420px;max-height:calc(100dvh - 20px);margin:auto auto 10px;border-radius:30px}
  .arr-genie-head{padding:0}.arr-genie-body{padding:20px 14px 16px}.arr-genie-scene{min-height:208px;padding-inline:30px}.arr-genie-pet{width:120px;height:120px}.arr-genie-pet img{width:130px;height:130px}.arr-genie-greeting{font-size:20px}.arr-genie-answer{max-height:220px;overflow:auto}
}
@media(max-height:650px){.arr-genie-scene{min-height:174px}.arr-genie-pet{width:96px;height:96px}.arr-genie-pet img{width:106px;height:106px}.arr-genie-dialog{max-height:calc(100dvh - 12px)}}
@media(prefers-reduced-motion:reduce){.arr-genie-pet,.arr-genie-pet img,.arr-genie-pet i,.arr-genie-scene::before{animation:none!important;transform:none!important}}

/* Floating Genie pet: one head, one wish bubble, one restrained portal. */
.arr-genie-fab{
  width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important;padding:5px!important;
  justify-content:center!important;overflow:visible!important;border:0!important;background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important;
}
.arr-genie-fab::before{display:none!important;content:none!important}
.arr-genie-fab::after{content:"✦";position:absolute;right:3px;top:1px;color:#fabd06;font:700 14px/1 "ARR Sans",Arial,sans-serif;text-shadow:0 0 12px rgba(250,189,6,.9);animation:none;pointer-events:none}
.arr-genie-fab-icon{width:70px!important;height:70px!important;flex:0 0 70px!important;margin:0!important;border-radius:0!important;background:url('assets/atlas-genie-v1-384.webp') center/contain no-repeat!important;box-shadow:none!important;filter:drop-shadow(0 12px 9px rgba(58,1,64,.3))!important;animation:none!important}
.arr-genie-fab-copy{
  position:absolute!important;right:72px!important;bottom:15px!important;display:grid!important;width:max-content!important;max-width:min(210px,calc(100vw - 110px))!important;height:auto!important;
  padding:10px 14px!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:1px solid rgba(58,1,64,.13)!important;border-radius:16px 16px 4px 16px!important;
  background:rgba(255,253,247,.96)!important;color:#3a0140!important;text-align:left!important;box-shadow:0 15px 34px -20px rgba(58,1,64,.75)!important;backdrop-filter:blur(14px)!important;
}
.arr-genie-fab-copy::after{content:"";position:absolute;right:-8px;bottom:8px;border:8px solid transparent;border-left-color:rgba(255,253,247,.96);border-right:0}
.arr-genie-fab-copy strong{font:800 15px/1.2 "ARR Sans",Arial,sans-serif!important}.arr-genie-fab-copy small{margin-top:2px!important;color:#665969!important;font:650 12px/1.3 "ARR Sans",Arial,sans-serif!important}
.arr-genie-fab:hover{transform:translateY(-3px) rotate(-2deg)!important}.arr-genie-fab:focus-visible{outline:3px solid #3a0140!important;outline-offset:4px!important;border-radius:50%!important}
.arr-genie-open .arr-genie-fab{opacity:0!important;pointer-events:none!important;transform:scale(.72)!important}
.arr-genie-dialog[open]{animation:arr-genie-portal-in .42s cubic-bezier(.18,.82,.22,1) both}
.arr-genie-dialog[open]::before{content:"";position:absolute;z-index:0;inset:0;width:auto;height:auto;transform:none;border-radius:inherit;background:radial-gradient(circle at 50% 8%,rgba(250,189,6,.18),rgba(58,1,64,.07) 34%,transparent 68%);pointer-events:none}
.arr-genie-dialog[open]>.arr-genie-head{z-index:5;max-width:calc(100% - 24px);min-width:0}
.arr-genie-dialog[open]>.arr-genie-body{position:relative;z-index:1;max-width:100%;min-width:0}
@keyframes arr-genie-pet-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes arr-genie-pet-aura{0%,100%{transform:scale(.92);opacity:.28}50%{transform:scale(1.08);opacity:.78}}
@keyframes arr-genie-pet-spark{0%,100%{transform:translate(0,2px) scale(.72);opacity:.3}50%{transform:translate(-5px,-5px) scale(1.12);opacity:1}}
@keyframes arr-genie-portal-in{from{opacity:0;transform:translateY(18px) scale(.9);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:800px){
  .arr-genie-fab{right:max(10px,env(safe-area-inset-right))!important;bottom:calc(132px + env(safe-area-inset-bottom))!important;width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;padding:3px!important}
  .arr-genie-fab-icon{width:62px!important;height:62px!important;flex-basis:62px!important}.arr-genie-fab-copy{right:62px!important;bottom:10px!important;padding:8px 11px!important}.arr-genie-fab-copy strong{font-size:14px!important}.arr-genie-fab-copy small{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){.arr-genie-fab,.arr-genie-fab::before,.arr-genie-fab::after,.arr-genie-fab-icon,.arr-genie-dialog[open]{animation:none!important;transition:none!important;transform:none!important}.arr-genie-dialog[open]::before{display:none}}

/* Living expert: one restrained breath and aura, never a separate decorative orb. */
@media(prefers-reduced-motion:no-preference){
  .arr-genie-fab::before{content:""!important;display:block!important;position:absolute!important;inset:5px!important;border:0!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,221,91,.42),rgba(107,1,110,.16) 48%,transparent 70%)!important;filter:none!important;opacity:.62!important;animation:none!important;pointer-events:none!important}
  .arr-genie-fab-icon{animation:none!important}
  .arr-genie-fab.is-dragging .arr-genie-fab-icon{animation:none!important}
}
@keyframes arr-genie-living-aura{0%,100%{transform:scale(.84);opacity:.35}50%{transform:scale(1.08);opacity:.78}}

/* Living companion: subtle breath plus brief, semantic reactions. */
.arr-genie-fab{--companion-look-x:0deg;--companion-look-y:0deg;transform-origin:58% 72%;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important}
.arr-genie-fab{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.arr-genie-fab.is-placed{left:var(--pet-left)!important;top:var(--pet-top)!important;right:auto!important;bottom:auto!important}
.arr-genie-fab.is-dragging{cursor:grabbing;transition:none!important;z-index:9997!important;transform:scale(1.08)!important}
.arr-genie-fab.is-touched .arr-genie-fab-icon{animation:arr-genie-pet-delight .58s cubic-bezier(.18,.8,.22,1) both!important}
.arr-genie-fab.is-touched::after{animation:arr-genie-touch-spark .62s ease both!important}
.arr-genie-fab-icon{animation:none!important;transform-origin:52% 72%;transition:transform .22s cubic-bezier(.2,.85,.2,1),filter .22s ease!important}
.arr-genie-fab::before,.arr-genie-fab::after{animation:none!important}
.arr-genie-fab.is-waving .arr-genie-fab-icon{animation:arr-genie-companion-wave 1s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-curious .arr-genie-fab-icon{animation:arr-genie-companion-curious .9s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-peeking .arr-genie-fab-icon{animation:arr-genie-companion-peek 1.05s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-spark-sneeze .arr-genie-fab-icon{animation:arr-genie-companion-sneeze .9s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-edge-peek .arr-genie-fab-icon{animation:arr-genie-companion-edge-peek 1.05s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-stretching .arr-genie-fab-icon{animation:arr-genie-companion-stretch 1.05s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-dancing .arr-genie-fab-icon{animation:arr-genie-companion-dance 1.3s cubic-bezier(.2,.8,.2,1) both!important}
.arr-genie-fab.is-dancing::after{animation:arr-genie-touch-spark .42s ease 3!important}
.arr-genie-fab.is-sleeping{opacity:.58!important;transform:translateY(7px) scale(.92) rotate(7deg)!important}
.arr-genie-fab.is-arriving{animation:arr-genie-companion-arrive 1s cubic-bezier(.16,.84,.24,1) both!important}
.arr-genie-fab.is-arriving::after{animation:arr-genie-arrival-spark 1s ease both!important}
@keyframes arr-genie-companion-breathe{0%,100%{transform:translateY(1px) rotate(-1.5deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}
@keyframes arr-genie-companion-wave{0%,100%{transform:none}25%{transform:translateY(-8px) rotate(-9deg) scale(1.04)}50%{transform:translateY(-10px) rotate(8deg) scale(1.06)}75%{transform:translateY(-6px) rotate(-5deg)}}
@keyframes arr-genie-companion-curious{0%,100%{transform:none}40%{transform:translate(-4px,-7px) rotate(-8deg) scale(1.06)}70%{transform:translate(2px,-5px) rotate(4deg) scale(1.03)}}
@keyframes arr-genie-companion-peek{0%,100%{transform:none}32%{transform:translate(10px,-3px) rotate(7deg) scale(.97)}62%{transform:translate(-5px,-9px) rotate(-5deg) scale(1.05)}}
@keyframes arr-genie-companion-sneeze{0%,100%{transform:none}28%{transform:translate(-4px,3px) rotate(-7deg) scale(.96)}48%{transform:translate(7px,-8px) rotate(10deg) scale(1.09)}66%{transform:translateY(-3px) rotate(-3deg)}}
@keyframes arr-genie-companion-edge-peek{0%,100%{transform:none}35%{transform:translateX(24px) rotate(8deg) scale(.94)}68%{transform:translateX(-5px) rotate(-4deg) scale(1.05)}}
@keyframes arr-genie-companion-stretch{0%,100%{transform:none}35%{transform:translateY(4px) scale(.92,1.08) rotate(-3deg)}70%{transform:translateY(-8px) scale(1.07,.95) rotate(4deg)}}
@keyframes arr-genie-companion-dance{0%,100%{transform:none}12%{transform:translate(-7px,-5px) rotate(-12deg) scale(1.04)}25%{transform:translate(7px,-10px) rotate(12deg) scale(1.08)}38%{transform:translate(-8px,-7px) rotate(-15deg)}52%{transform:translate(8px,-13px) rotate(15deg) scale(1.1)}67%{transform:translate(-5px,-8px) rotate(-9deg)}82%{transform:translate(5px,-5px) rotate(8deg)}92%{transform:translateY(-3px) scale(1.03)}}
/* Ambient breathing is finite-state and one-shot; no perpetual animation. */
@keyframes arr-genie-companion-arrive{0%{opacity:0;transform:translate(42px,38px) scale(.45) rotate(18deg)}58%{opacity:1;transform:translate(-5px,-8px) scale(1.08) rotate(-5deg)}100%{transform:none}}
@keyframes arr-genie-arrival-spark{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:translate(-12px,-13px) scale(1.6) rotate(90deg)}100%{opacity:.6;transform:none}}
@keyframes arr-genie-pet-delight{0%,100%{transform:none}30%{transform:translateY(-9px) rotate(-8deg) scale(1.08)}58%{transform:translateY(-5px) rotate(8deg) scale(1.12)}78%{transform:translateY(-2px) rotate(-3deg) scale(1.04)}}
@keyframes arr-genie-touch-spark{0%{opacity:.25;transform:scale(.6)}45%{opacity:1;transform:translate(-9px,-12px) scale(1.7) rotate(90deg)}100%{opacity:.55;transform:none}}
.arr-genie-fab-copy small{font-size:14px!important;line-height:1.4!important}
.arr-genie-fab-copy{opacity:0!important;visibility:hidden!important;transform:translateX(8px) scale(.96)!important;transition:opacity .2s ease,transform .25s ease,visibility .2s!important;pointer-events:none!important}
.arr-genie-fab:is(:hover,:focus-visible,.is-curious,.is-introducing) .arr-genie-fab-copy{opacity:1!important;visibility:visible!important;transform:none!important}
@media(min-width:901px){
  .arr-genie-fab{transition:bottom .62s cubic-bezier(.2,.78,.2,1),right .62s cubic-bezier(.2,.78,.2,1),transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important}
  .arr-genie-fab.dock-high{bottom:62vh!important;right:18px!important}
  .arr-genie-fab.dock-mid{bottom:36vh!important;right:34px!important}
  .arr-genie-fab.dock-low{bottom:92px!important;right:18px!important}
  .arr-genie-fab.is-section-hop .arr-genie-fab-icon{animation:arr-genie-section-hop .58s cubic-bezier(.2,.85,.2,1) both!important}
}
@keyframes arr-genie-section-hop{0%,100%{transform:none}46%{transform:translateY(-12px) rotate(7deg) scale(1.07)}72%{transform:translateY(2px) rotate(-3deg)}}
@media(max-width:800px){
  .arr-genie-fab.is-introducing .arr-genie-fab-copy{position:absolute!important;right:62px!important;bottom:8px!important;display:grid!important;width:max-content!important;max-width:min(178px,calc(100vw - 92px))!important;height:auto!important;padding:9px 11px!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:1px solid rgba(58,1,64,.13)!important}
}

/* One-shot wish trail from pet to portal. */
.arr-wish-cast{position:fixed;z-index:9998;left:var(--wish-x);top:var(--wish-y);width:1px;height:1px;pointer-events:none}
.arr-wish-cast i{position:absolute;width:7px;height:7px;border-radius:2px;background:#ffd75a;box-shadow:0 0 14px #fabd06,0 0 28px rgba(107,1,110,.48);transform:translate(-50%,-50%) rotate(45deg);animation:arr-wish-flight .52s cubic-bezier(.18,.75,.25,1) var(--wish-delay) both}
@keyframes arr-wish-flight{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.35)}18%{opacity:1}100%{opacity:0;transform:translate(calc(var(--wish-dx) - 50%),calc(var(--wish-dy) - 50%)) rotate(225deg) scale(.9)}}

/* Answer constellation: meaning remains in text; stars resolve once. */
.arr-genie-answer.is-visible{position:relative;overflow:hidden}
.arr-genie-answer.is-visible::before{content:"";position:absolute;right:18px;top:18px;width:64px;height:34px;border-top:1px dashed rgba(107,1,110,.28);border-radius:50%;transform:rotate(-12deg);animation:arr-constellation-line .36s ease both}
.arr-genie-answer.is-visible::after{content:"✦  ·  ✦";position:absolute;right:15px;top:5px;color:#d9a609;font:700 12px/1 "ARR Sans",Arial,sans-serif;letter-spacing:7px;animation:arr-constellation-stars .42s .12s ease both}
@keyframes arr-constellation-line{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes arr-constellation-stars{from{opacity:0;transform:scale(.7) rotate(-10deg)}to{opacity:1;transform:none}}

/* Internal-page wish portal: fast, branded, and never used for external links. */
.arr-page-wish{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;overflow:hidden;background:rgba(22,5,27,.18);opacity:0;pointer-events:all;backdrop-filter:blur(0);transition:opacity .18s ease,backdrop-filter .3s ease}
.arr-page-wish::before,.arr-page-wish::after{content:"";position:absolute;left:50%;top:50%;width:42vmax;height:42vmax;border-radius:50%;transform:translate(-50%,-50%) scale(.08);border:1px solid rgba(255,222,105,.74);background:radial-gradient(circle,rgba(250,189,6,.16),rgba(58,1,64,.72) 50%,rgba(18,3,24,.96) 72%);box-shadow:0 0 80px rgba(250,189,6,.28);transition:transform .38s cubic-bezier(.18,.78,.2,1)}
.arr-page-wish::after{width:25vmax;height:25vmax;background:transparent;border-style:dashed;transition-delay:.04s}
.arr-page-wish b{position:relative;z-index:2;padding:12px 18px;border-radius:999px;background:#fffaf0;color:#3a0140;font:800 14px/1.2 "ARR Sans",Arial,sans-serif;letter-spacing:.01em;opacity:0;transform:translateY(8px);transition:opacity .2s .12s ease,transform .25s .12s ease}
.arr-page-wish i,.arr-page-wish span{position:absolute;z-index:2;width:7px;height:7px;background:#ffd75a;transform:rotate(45deg);box-shadow:0 0 20px #fabd06}.arr-page-wish i{margin:-100px 0 0 -160px}.arr-page-wish span{margin:120px 0 0 170px}
.arr-page-wish.is-cast{opacity:1;backdrop-filter:blur(4px)}.arr-page-wish.is-cast::before{transform:translate(-50%,-50%) scale(3.2)}.arr-page-wish.is-cast::after{transform:translate(-50%,-50%) scale(2.2) rotate(24deg)}.arr-page-wish.is-cast b{opacity:1;transform:none}
@media(max-width:800px){.arr-page-wish,.arr-page-wish.is-cast{backdrop-filter:none!important}.arr-genie-fab-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.arr-genie-dialog[open]{filter:none!important}}
html.arr-genie-open,body.arr-genie-open{overflow-x:clip!important}
@media(prefers-reduced-motion:reduce){.arr-wish-cast,.arr-page-wish,.arr-genie-answer.is-visible::before,.arr-genie-answer.is-visible::after{display:none!important}}
@media(prefers-reduced-motion:reduce){.arr-genie-fab,.arr-genie-fab::before,.arr-genie-fab::after,.arr-genie-fab-icon{animation:none!important;transition:none!important;transform:none!important}}

/* The controller casts a one-shot spark only for named reactions. */
.arr-genie-fab.is-dragging{animation:none!important}

/* Thirty calm companion moments. Existing six signature reactions keep their
   bespoke motion; these twenty-four states share one bounded motion grammar. */
.arr-genie-fab.is-nodding{--moment-a:translateY(3px) rotate(0) scale(.98);--moment-b:translateY(-3px) rotate(0) scale(1.02)}
.arr-genie-fab.is-bowing{--moment-a:translateY(5px) rotate(8deg) scale(.96);--moment-b:translateY(-2px) rotate(-2deg) scale(1.02)}
.arr-genie-fab.is-twirling{--moment-a:translateY(-5px) rotate(-16deg) scale(1.03);--moment-b:translateY(-8px) rotate(18deg) scale(1.06)}
.arr-genie-fab.is-bouncing{--moment-a:translateY(-12px) scale(1.05,.96);--moment-b:translateY(2px) scale(.98,1.04)}
.arr-genie-fab.is-shimmering{--moment-a:translateY(-4px) rotate(-3deg) scale(1.08);--moment-b:translateY(-6px) rotate(3deg) scale(1.02)}
.arr-genie-fab.is-listening{--moment-a:translateX(-4px) rotate(-9deg) scale(1.02);--moment-b:translateX(2px) rotate(-4deg) scale(1.05)}
.arr-genie-fab.is-thinking{--moment-a:translate(-3px,-5px) rotate(-7deg) scale(.98);--moment-b:translate(3px,-8px) rotate(4deg) scale(1.03)}
.arr-genie-fab.is-celebrating{--moment-a:translate(-7px,-11px) rotate(-13deg) scale(1.08);--moment-b:translate(7px,-13px) rotate(13deg) scale(1.1)}
.arr-genie-fab.is-floating-high{--moment-a:translateY(-14px) rotate(-2deg) scale(1.03);--moment-b:translateY(-9px) rotate(2deg) scale(1.06)}
.arr-genie-fab.is-floating-low{--moment-a:translateY(5px) rotate(2deg) scale(.96);--moment-b:translateY(1px) rotate(-2deg) scale(1)}
.arr-genie-fab.is-giggling{--moment-a:translate(-4px,-4px) rotate(-6deg) scale(1.04);--moment-b:translate(4px,-5px) rotate(6deg) scale(1.04)}
.arr-genie-fab.is-blinking{--moment-a:translateY(1px) scale(1,.88);--moment-b:translateY(-2px) scale(1,1.03)}
.arr-genie-fab.is-heartbeat{--moment-a:translateY(-3px) scale(1.1);--moment-b:translateY(0) scale(.97)}
.arr-genie-fab.is-orbiting{--moment-a:translate(-8px,-7px) rotate(-11deg) scale(1.02);--moment-b:translate(8px,-7px) rotate(11deg) scale(1.04)}
.arr-genie-fab.is-pointing{--moment-a:translate(8px,-5px) rotate(7deg) scale(1.04);--moment-b:translate(4px,-8px) rotate(2deg) scale(1.06)}
.arr-genie-fab.is-yawning{--moment-a:translateY(4px) rotate(6deg) scale(.93);--moment-b:translateY(-2px) rotate(-3deg) scale(1.01)}
.arr-genie-fab.is-hiding{--moment-a:translateX(20px) rotate(10deg) scale(.9);--moment-b:translateX(8px) rotate(4deg) scale(.96)}
.arr-genie-fab.is-popping{--moment-a:translateY(5px) scale(.8);--moment-b:translateY(-11px) scale(1.12)}
.arr-genie-fab.is-gliding{--moment-a:translate(-12px,-5px) rotate(-7deg) scale(1.02);--moment-b:translate(12px,-7px) rotate(7deg) scale(1.04)}
.arr-genie-fab.is-swaying{--moment-a:translateX(-7px) rotate(-8deg);--moment-b:translateX(7px) rotate(8deg)}
.arr-genie-fab.is-saluting{--moment-a:translateY(-5px) rotate(-10deg) scale(1.04);--moment-b:translateY(-7px) rotate(-3deg) scale(1.06)}
.arr-genie-fab.is-juggling{--moment-a:translate(-6px,-10px) rotate(-12deg) scale(1.06);--moment-b:translate(6px,-12px) rotate(12deg) scale(1.08)}
.arr-genie-fab.is-moonwalking{--moment-a:translateX(10px) rotate(5deg) scale(.98);--moment-b:translateX(-10px) rotate(-5deg) scale(1.02)}
.arr-genie-fab.is-spinning{--moment-a:translateY(-7px) rotate(-22deg) scale(1.04);--moment-b:translateY(-8px) rotate(22deg) scale(1.06)}
@media(prefers-reduced-motion:no-preference){
  .arr-genie-fab:is(.is-nodding,.is-bowing,.is-twirling,.is-bouncing,.is-shimmering,.is-listening,.is-thinking,.is-celebrating,.is-floating-high,.is-floating-low,.is-giggling,.is-blinking,.is-heartbeat,.is-orbiting,.is-pointing,.is-yawning,.is-hiding,.is-popping,.is-gliding,.is-swaying,.is-saluting,.is-juggling,.is-moonwalking,.is-spinning) .arr-genie-fab-icon{animation:arr-genie-companion-moment 1.08s cubic-bezier(.2,.8,.2,1) both!important}
}
@keyframes arr-genie-companion-moment{0%,100%{transform:none}34%{transform:var(--moment-a)}68%{transform:var(--moment-b)}}

/* Reduced motion wins over every higher-specificity companion reaction state. */
@media(prefers-reduced-motion:reduce){
  .arr-genie-fab[class],
  .arr-genie-fab[class]::before,
  .arr-genie-fab[class]::after,
  .arr-genie-fab[class] .arr-genie-fab-icon{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}

/* Inclusive visibility: consequential copy stays readable and focus is dark on pale surfaces. */
.arr-genie-close:focus-visible,.arr-genie-quick button:focus-visible{outline:3px solid #3a0140!important;outline-offset:3px!important}
.arr-genie-compose:focus-within{outline:3px solid #3a0140!important;outline-offset:2px}
.arr-genie-title small,.arr-genie-lede,.arr-genie-stage-foot,.arr-genie-skip,.arr-genie-memory,.arr-genie-privacy,
.arr-genie-plan small,.arr-genie-quick button,.arr-genie-spell span,.arr-genie-answer p,
.arr-genie-enquire,.arr-genie-answer a,.arr-genie-again{font-size:14px!important;line-height:1.45!important}
.arr-genie-plan,.arr-genie-login{font-size:14px!important}

/* Mobile safe dock: Genie occupies measured free header space instead of
   covering forms, itinerary copy or sticky actions. Dragged positions remain
   visitor-controlled and are still clamped by the runtime. */
@media(max-width:800px){
  .arr-genie-fab.is-mobile-docked:not(.is-placed){left:var(--pet-dock-left)!important;top:var(--pet-dock-top)!important;right:auto!important;bottom:auto!important;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;padding:2px!important;z-index:102!important}
  .arr-genie-fab.is-mobile-docked:not(.is-placed) .arr-genie-fab-icon{width:48px!important;height:48px!important;flex-basis:48px!important}
.arr-genie-fab.is-mobile-docked .arr-genie-fab-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;visibility:hidden!important}
  body.has-sticky-actions .arr-genie-fab.is-mobile-docked{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}

/* Final cascade lock for the compact living conversation. */
.arr-genie-open .arr-genie-fab{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.arr-genie-dialog.arr-genie-bubble[open]{position:fixed!important;inset:auto!important;margin:0!important;max-width:none!important}
.arr-genie-bubble .arr-genie-spell{position:static!important;inset:auto!important;display:grid;grid-template-columns:58px minmax(0,1fr)!important;justify-items:start!important;text-align:left!important;margin:0!important}
.arr-genie-bubble .arr-genie-spell[hidden]{display:none!important}
.arr-genie-bubble .arr-genie-spell>img{display:block!important}
.arr-genie-bubble .arr-genie-spell span{display:block!important}

/* Owner direction: a transparent smoke-glass conversation, not a white box. */
.arr-genie-dialog.arr-genie-bubble[open]{
  border-color:rgba(255,255,255,.42)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(246,232,249,.18))!important;
  box-shadow:0 20px 46px -28px rgba(20,3,25,.68),inset 0 1px 0 rgba(255,255,255,.52)!important;
  backdrop-filter:blur(16px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.12)!important;
}
.arr-genie-bubble::after{background:rgba(255,255,255,.34)!important}
.arr-genie-bubble .arr-genie-compose{background:rgba(255,255,255,.68)!important;box-shadow:none!important}
.arr-genie-bubble .arr-genie-answer{background:rgba(255,255,255,.56)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important}
.arr-genie-bubble .arr-genie-answer p{max-height:none!important;overflow:visible!important}
.arr-genie-bubble .arr-genie-answer p.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden!important}
.arr-genie-answer-keyword{padding:0;background:transparent;color:#6b016e;font:inherit;font-weight:800;animation:arr-genie-keyword-glow .7s calc(var(--phrase-index,0) * 70ms + 120ms) ease both}
.arr-genie-more{min-height:44px;margin-top:6px;padding:0 8px;border:0;background:transparent;color:#6b016e;font:800 12px/1.2 "ARR Sans",Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.arr-genie-smoke-ribbon{position:absolute;z-index:4;right:38px;bottom:-10px;width:78px;height:42px;border:2px solid rgba(255,230,135,.72);border-left-color:transparent;border-bottom-color:transparent;border-radius:58% 76% 52% 72%;filter:drop-shadow(0 0 8px rgba(250,189,6,.3));transform:rotate(16deg);pointer-events:none}
.arr-genie-smoke-ribbon::after{content:"";position:absolute;right:-3px;top:-7px;width:9px;height:9px;border-radius:50%;background:#ffe889;box-shadow:-17px 12px 0 -2px rgba(255,232,137,.72)}
@keyframes arr-genie-keyword-glow{0%{color:#b67600;text-shadow:0 0 12px rgba(250,189,6,.8)}100%{color:#6b016e;text-shadow:none}}
@media(prefers-reduced-motion:no-preference){.arr-genie-dialog[open]>.arr-genie-smoke-ribbon{animation:arr-genie-ribbon-arrive .5s cubic-bezier(.2,.8,.2,1) both}}
@keyframes arr-genie-ribbon-arrive{0%{opacity:0;transform:translate(18px,10px) rotate(28deg) scale(.55)}100%{opacity:1;transform:rotate(16deg) scale(1)}}

/* Cascade lock: legacy companion rules above are retained for compatibility,
   but the finite-state data attribute is now the only animation authority. */
@media(prefers-reduced-motion:no-preference){
  .arr-genie-fab:not([data-genie-activity]):not([aria-hidden="true"]) .arr-genie-fab-icon{animation:arr-genie-companion-breathe 3.6s ease-in-out infinite!important}
  .arr-genie-fab:not([data-genie-activity])::after,
  .arr-genie-fab:not([data-genie-activity])[aria-hidden="true"] .arr-genie-fab-icon{animation:none!important}
  .arr-genie-fab[data-genie-activity] .arr-genie-fab-icon{
    animation:arr-genie-motion-moment var(--genie-motion-duration,.9s) cubic-bezier(.2,.8,.2,1) both!important
  }
  .arr-genie-fab[data-genie-activity]:is(
    .is-motion-shimmer,.is-motion-spark-sneeze,.is-motion-tap-glow,.is-motion-giggle,
    .is-motion-answer-spark,.is-motion-celebrate,.is-motion-cast-wish,.is-motion-page-arrival
  )::after{animation:arr-genie-motion-spark var(--genie-motion-duration,.9s) ease both!important}
}
@media(prefers-reduced-motion:reduce){
  .arr-genie-smoke-ribbon{display:none!important}
  .arr-genie-answer-keyword{animation:none!important;text-shadow:none!important}
  .arr-genie-pet[data-genie-activity],
  .arr-genie-pet[data-genie-activity] img,
  .arr-genie-pet[data-genie-activity] i{
    animation:none!important;transition:none!important;transform:none!important
  }
}
