.ar-avdi-sprite{display:block;position:absolute;left:0;bottom:0;width:192px;height:208px;background:url('/assets/avdi-quest-v1/avdi-poses.webp') 0 0/3264px 208px no-repeat;transform-origin:50% 96%;pointer-events:none}
@keyframes ar-avdi-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.006,1.012)}}
.ar-avdi-sr-only{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}
.ar-avdi-sprite{background-image:url('/assets/avdi-cage-v17/avdi-poses-v17.webp');background-size:4416px 208px}
/* Unlocked companion: one bounded floating control, no fullscreen interaction layer. */
#ar-avdi-summon{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:3px;margin:0;border:1px solid var(--line,#705d3b);border-radius:50%;background:var(--surface,#171713);color:var(--gold-light,#edd19a);cursor:pointer;flex:0 0 44px}
#ar-avdi-summon[hidden],#ar-avdi-companion[hidden]{display:none!important}
#ar-avdi-summon img{width:36px;height:36px;object-fit:contain;pointer-events:none;filter:none!important}
#ar-avdi-summon:after,#ar-avdi-companion-pet:after{content:none!important}
#ar-avdi-summon[aria-pressed="true"]{border-color:var(--gold-light,#f0d08b);background:#30291c}
#ar-avdi-summon:focus-visible,#ar-avdi-companion button:focus-visible{outline:2px solid var(--gold-light,#f0d08b);outline-offset:4px}
#ar-avdi-companion{position:fixed;left:0;top:0;box-sizing:border-box;width:192px;height:242px;z-index:70;pointer-events:none;touch-action:auto;isolation:isolate;--avdi-scale:1}
#ar-avdi-companion-pet{display:block;position:absolute;left:0;bottom:0;width:100%;height:208px;border:0;border-radius:16px;background:transparent;padding:0;margin:0;box-shadow:none;cursor:grab;pointer-events:auto;touch-action:none}
#ar-avdi-companion[data-dragging="true"] #ar-avdi-companion-pet{cursor:grabbing}
.ar-avdi-companion-stage{position:absolute;left:0;bottom:0;width:192px;height:208px;transform:scale(var(--avdi-scale));transform-origin:bottom left;pointer-events:none}
#ar-avdi-companion .ar-avdi-sprite{left:0;bottom:0;background-image:url('/assets/avdi-cage-v17/avdi-poses-v18-2x.webp?v=c3d8e74da076fb91');background-size:4416px 208px}
#ar-avdi-companion[data-state="sleep"] .ar-avdi-sprite{animation:ar-avdi-breathe 5.4s ease-in-out infinite}
#ar-avdi-companion[data-state="read"] .ar-avdi-sprite{animation:ar-avdi-read 5.4s steps(1,end) infinite}
@keyframes ar-avdi-read{0%,100%{background-position:-2112px 0}16%{background-position:-2304px 0}32%{background-position:-2496px 0}49%{background-position:-2688px 0}66%{background-position:-2880px 0}83%{background-position:-3072px 0}}
#ar-avdi-companion[data-active="false"] .ar-avdi-sprite{animation-play-state:paused!important}
#ar-avdi-companion[data-motion="false"] .ar-avdi-sprite{animation:none!important}
#ar-avdi-companion-save-note{position:absolute;left:0;right:0;bottom:0;padding:5px;background:var(--surface,#171713);color:var(--text,#e9e5dc);font:11px/1.4 Arial,sans-serif;border-radius:5px}
#ar-avdi-companion-save-note:empty{display:none}
body.passage-preview-open #ar-avdi-companion,body.study-preview-open #ar-avdi-companion,body.popup-open #ar-avdi-companion,#ar-avdi-companion[data-obscured="true"],#ar-avdi-companion[inert]{visibility:hidden;pointer-events:none}
@media(max-width:600px){#ar-avdi-companion{width:144px;height:194px;--avdi-scale:.75}#ar-avdi-companion-pet{height:156px}}
@media(prefers-reduced-motion:reduce){#ar-avdi-companion .ar-avdi-sprite{animation:none!important}}

@media print{#ar-avdi-companion,#ar-avdi-summon{display:none!important}}

@media(max-height:300px){#ar-avdi-companion{width:106px;height:152px;--avdi-scale:.55}#ar-avdi-companion-pet{height:115px}}

/* v17: controls live in the top dock; read quietly with occasional genuine pose changes. */
#ar-avdi-companion{height:214px}
/* Hold the grounded book pose; occasional sprite-frame glances retain head movement. */
#ar-avdi-companion[data-state="read"] .ar-avdi-sprite{animation:none}
#ar-avdi-companion .ar-avdi-companion-stage{transform-origin:left bottom}
@media(max-width:600px){#ar-avdi-companion{height:161px}}
@media(max-height:300px){#ar-avdi-companion{height:119px}}
#ar-avdi-companion .ar-avdi-sprite{scale:var(--avdi-facing,-1) 1}

/* Farewell is a real pose sequence plus a single fade, within the same stage. */
#ar-avdi-companion[data-departing="true"] #ar-avdi-companion-pet{pointer-events:none;cursor:default}
#ar-avdi-companion[data-state="farewell"] .ar-avdi-sprite{animation:none!important}
#ar-avdi-companion[data-departing="true"] #ar-avdi-companion-pet:disabled{opacity:1}

body.ar-simple #ar-avdi-companion:not([data-simple-manual="true"]) .ar-avdi-sprite{background-image:none!important}

#ar-avdi-companion[data-state=sleep] .ar-avdi-sprite,#ar-avdi-companion[data-state=read] .ar-avdi-sprite{animation:ar-avdi-hover62 .85s steps(1,end) infinite}
#ar-avdi-companion[data-active=true][data-motion=true]:not([data-dragging=true]):not([data-departing=true]) .ar-avdi-companion-stage{animation:ar-avdi-bob62 2s ease-in-out infinite}
@keyframes ar-avdi-hover62{0%,100%{background-position:-1344px 0}25%,75%{background-position:-1536px 0}50%{background-position:-1728px 0}}
@keyframes ar-avdi-bob62{0%,100%{translate:0 0}50%{translate:0 -4px}}
@media(prefers-reduced-motion:reduce){#ar-avdi-companion .ar-avdi-sprite,#ar-avdi-companion .ar-avdi-companion-stage{animation:none!important}}
